网页的多个视图取决于Django中的身份验证状态

时间:2014-11-09 06:19:56

标签: django authentication

我目前正致力于开发一个人们可以用来浏览书评的网络应用程序,但如果他们登录,他们可以在书评上发表评论,或发布他们自己的书评。

虽然我已实施发布新评论。我不明白如何修改我的views.py文件中的方法,该文件呈现书评,如果用户登录,则显示所有先前的评论,用户发表评论和注销按钮的表单,如果用户未登录,则只显示书评和登录按钮。

1 个答案:

答案 0 :(得分:0)

您可以在以下视图中判断您的用户是否已登录:

    if request.user.is_authenticated():
        # logged in logic
        return render_to_response("loggedin_templates.html")
    else:
        # not logged in logic
        return render_to_response("not_loggedin_templates.html")

或者您可以在模板中告诉他们:

{% if user.is_authenticated %}
    <span>{{ user.username }}</span>
{% else %}
    <li><a href="{% url 'accounts:login' %}">login</a>
{% endif %}