6
На моей странице мне нужно отобразить детали сообщений и форму комментариев для просмотра, чтобы оставлять комментарии. Я создал 2 общих взгляды:Django - аргумент Catch в классе FormView
# views.py
class PostDetailView (DetailView):
model = Post
context_object_name = 'post'
template_name = 'post.html'
def get_context_data(self, **kwargs):
context = super(PostDetailView, self).get_context_data(**kwargs)
context['comment_form'] = CommentForm()
return context
class AddCommentView(FormView):
template_name = 'post.html'
form_class = CommentForm
success_url = '/'
def form_valid(self, form):
form.save()
return super(AddCommentView, self).form_valid(form)
def form_invalid(self, form):
return self.render_to_response(self.get_context_data(form=form))
detail = PostDetailView.as_view()
add_comment = AddCommentView.as_view()
# urls.py
....
url(r'^(?P<pk>\d+)/$', view='detail'),
url(r'^(?P<post_id>\d+)/add_comment/$', view='add_comment'),
....
ошибка будет возникать в AddCommentView, так как я не указал идентификатор Почты для комментария. Как я могу получить доступ к post_id в AddCommentView?
удивительным !!! большое спасибо –
Добро пожаловать! Если у вас есть еще вопросы, задайте вопросы. Вы также можете принять этот, если найдете полезным – San4ez
Спасибо! Ссылка на документы не работает, в текущем dev нет такого раздела. Последняя версия документации с рабочей ссылкой - 1.4: https://docs.djangoproject.com/en/1.4/topics/class-based-views/#dynamic-filtering –