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}}
添加回答
舉報
