django从头开始评论观点

时间:2018-04-01 14:48:45

标签: python django

我正在建立一个关于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

因此,当用户按下按钮时,服务器将检查该用户是否已通过身份验证。如果是,则更新注释,如果没有用户将被定向到登录视图。这里的问题,当我登录一切正常时,但是当我注销测试视图时,它不会将我重定向到登录视图,而只是重新加载页面。如果你帮助我,我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该使用return redirect(....)而不是redirect(...)来返回实际的HttpResponse。现在,您的代码将继续到最后一行并再次呈现相同的页面。