1

我正在使用 Django 注册。我完成了所有步骤以将应用程序包含在我的项目中。

用户成功登录后,我想将他重定向到另一个页面。我做到了,但问题是我想检查用户是否在模板内经过身份验证。

因为任何用户都可以访问此页面,直接在 Web 浏览器上键入它。

谢谢

4

3 回答 3

3

你可以看看文档

{% if user.is_authenticated %}
    <p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
    <p>Welcome, new user. Please log in.</p>
{% endif %}
于 2012-08-23T12:35:59.510 回答
1

在视图中:

if request.user.is_authenticated():
    # User is logged in

在模板内:

{% if request.user.is_authenticated %}
    Only rendered for users that are logged in.
{% endif %}
于 2012-08-23T12:34:59.027 回答
0

为了防止未经身份验证的用户看到该页面,您可以在视图 ( doc@login_required ) 中添加一个装饰器:

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):
    ...

因此,如果用户没有登录,装饰器会将他重定向到 settings.LOGIN_URL

于 2012-08-23T13:14:21.950 回答