Django-检查用户是否对每个url进行了身份验证
在我的html中,我可以使用以下语法检查用户是否登录: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文件进行了身份验
{% 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):
...