django-allauth 或 django 在一般情况下根据用户状态呈现模板

django-allauth or django in general render template on user status

我在 html 中的菜单如下所示:

<ul id="nav-mobile" class="right">
            {% user_display user %}
            <li><a href="/accounts/login">Login</a></li>
            <li><a href="/accounts/logout">Logout</a></li>
            <li><a href="/accounts/signup">Signup</a></li>
</ul>

显然这没有多大意义,因为如果用户未登录,应该可以注销,反之亦然。

django或django-allauth中有没有template-tags,我可以这样写在模板里。伪代码

<if user login>
<a> logout </a>
<end if>

您可以像这样在您的模板中简单地检查用户是否使用 is_authenticated 登录:

{% if request.user.is_authenticated %}
     {% user_display user %}
     <li><a href="/accounts/logout">Logout</a></li>
{% else %}
     <li><a href="/accounts/login">Login</a></li>
     <li><a href="/accounts/signup">Signup</a></li>
{% endif %}