我正在使用 Django 注册。我完成了所有步骤以将应用程序包含在我的项目中。
用户成功登录后,我想将他重定向到另一个页面。我做到了,但问题是我想检查用户是否在模板内经过身份验证。
因为任何用户都可以访问此页面,直接在 Web 浏览器上键入它。
谢谢
我正在使用 Django 注册。我完成了所有步骤以将应用程序包含在我的项目中。
用户成功登录后,我想将他重定向到另一个页面。我做到了,但问题是我想检查用户是否在模板内经过身份验证。
因为任何用户都可以访问此页面,直接在 Web 浏览器上键入它。
谢谢
你可以看看文档
{% if user.is_authenticated %}
<p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
<p>Welcome, new user. Please log in.</p>
{% endif %}
在视图中:
if request.user.is_authenticated():
# User is logged in
在模板内:
{% if request.user.is_authenticated %}
Only rendered for users that are logged in.
{% endif %}
为了防止未经身份验证的用户看到该页面,您可以在视图 ( doc@login_required
) 中添加一个装饰器:
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
...
因此,如果用户没有登录,装饰器会将他重定向到 settings.LOGIN_URL