Django-检查用户是否对每个url进行了身份验证

Django-检查用户是否对每个url进行了身份验证,django,django-authentication,django-users,Django,Django Authentication,Django Users,在我的html中,我可以使用以下语法检查用户是否登录: {% if user.is_authenticated %} <div id="display_something">...</div> {% else %} <p>Please Log in</p> {% endif %} {%if user.u经过身份验证%} ... {%else%} 请登录 {%endif%} 但是,如果我想检查用户是否对我呈现的每个html文件进行了身份验

在我的html中,我可以使用以下语法检查用户是否登录:

{% if user.is_authenticated %}
  <div id="display_something">...</div>
{% else %}
  <p>Please Log in</p>
{% endif %}
{%if user.u经过身份验证%}
...
{%else%}
请登录

{%endif%}

但是,如果我想检查用户是否对我呈现的每个html文件进行了身份验证,该怎么办?我必须为每个html文件复制并粘贴
{%if…%}
块吗?Django如何处理这个问题?好的做法是什么?

base.html
中,添加您的支票

{% if user.is_authenticated %}
  {% block page %}
  {% endblock %}
{% else %}
  <p>Please Log in</p>
{% endif %}

请注意,在
block
之后,您需要有相同的名称。对于本例,它是
页面
,但您可以选择自己的变量名。

您不应该在模板中处理身份验证逻辑(对于整个站点),而是可以在视图中使用

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):
    ...

查看此链接,它可能有助于您尝试执行的操作:
from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):
    ...