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

Can I use the Django `URL` template tag inside other logic?

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

{% 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 一起使用吗?

如果您只是想检查用户是否匿名,那么您可以使用 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 %}