2 回答
TA贡献1788条经验 获得超4个赞
问题是,当 Django 渲染时PostDetailView,contextdict 没有该form项目(该form项目仅在您的add_comment_to_post视图中可用,因为 Django 模板引擎无法form从 dict 中找到该项目context,所以它没有渲染任何东西。
您需要做的是更改您的PostDetailView并将其注入CommentForm到PostDetailView' 上下文中。这是一种方法:
class PostDetailView(DetailView):
model = Post
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['form'] = CommentForm() # Inject CommentForm
return context
您所做的实际上是覆盖默认值,并将您的默认值作为 的一部分get_context_data注入,然后渲染它。CommentForm()context
TA贡献1796条经验 获得超4个赞
你可以这样尝试:
class PostDetailView(DetailView):
model = Post
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['comment_form'] = YourModelFormForComment() # Your comment form
return context
在模板中
{{comment_form.as_p}}
添加回答
举报
