我可以在其他逻辑中使用Django`URL`模板标签吗?

时间:2015-09-02 11:27:43

标签: django django-templates templatetags

这是为了检查当用户是匿名用户并且当前在登录页面上时,他们在导航中看不到重复的登录表单(通常是这样):

{% url 'auth_login' as auth_url %}
{% if not auth_url in request.get_full_path %}
    # not on login page, so show login in nav
{% endif %}

首先必须单独使用url吗?或者它可以与if

一起使用

1 个答案:

答案 0 :(得分:1)

如果您只是想检查用户是否是匿名用户,那么您可以使用is_anonymous

请注意,文档说明您应该使用is_authenticated,因此您可能希望同时使用它们。

{% if user.is_anonymous %}
    <a href="{% url 'auth_login' %}">Log In</a>
{% else %}
    <a href="{% url 'logout_url' %}">Signed in as {{ user.username }} (Log Out)</a>
{% endif %}