我正在建立一个关于django的博客并做评论的东西,我想从头开始构建它我的观点功能:
def topic_detail(request, slug):
topic = get_object_or_404(Topic, slug=slug)
form = CommentForm()
if request.method == 'POST':
if request.user.is_authenticated:
form = CommentForm(request.POST)
if form.is_valid():
comment = form.save(commit=False)
comment.topic = topic
comment.created_by = request.user
comment.save()
return redirect('board:topic_detail', slug=topic.slug)
else:
redirect('accounts:login')
else:
form = CommentForm()
return render(request, 'topic.html', {'topic':topic, 'form':form})
我的页面布局是:
< ............................>
Something I want to write
<.............................>
Comment Field
<.............................>
Comments
因此,当用户按下按钮时,服务器将检查该用户是否已通过身份验证。如果是,则更新注释,如果没有用户将被定向到登录视图。这里的问题,当我登录一切正常时,但是当我注销测试视图时,它不会将我重定向到登录视图,而只是重新加载页面。如果你帮助我,我将不胜感激。
谢谢!
答案 0 :(得分:0)
您应该使用return redirect(....)
而不是redirect(...)
来返回实际的HttpResponse。现在,您的代码将继续到最后一行并再次呈现相同的页面。