我正在尝试在博客中创建评论系统。这是视图部分。
def post_content(request,post_slug):
post= Post.objects.get(slug=post_slug)
new_comment=None
#get all comments that are currently active to show in the post
comments= post.comments.filter(active=True)
if request.method=='POST':
comment_form= CommentForm(request.POST)
if comment_form.is_valid():
# saving a ModelForm creates an object of the corresponding model.
new_comment= comment_form.save(commit=False)
new_comment.post=post
new_comment.save()
else:
comment_form=CommentForm()
return render(request,'blog/post_content.html',{'post':post,'comments':comments,'comment_form':comment_form})
还没有评论。现在,我不明白的是当我发表评论然后页面重新加载时,我立即看到了评论(我不应该看到)。
根据我的理解,这应该是流程 - 当页面重新加载时(提交评论后),它首先查看并检索活动评论(它应该是空的,因为还没有保存,是吗?)它仅在if 条件满足,form is valid ,都在下面。而且我保存后没有检索到评论。但是,' comments ' 变量仍然包含我最近发表的评论。这是怎么回事?这是什么法宝?请有人帮我说清楚!!
波斯汪
相关分类