-
作为快捷方式,您可以使用方便的
login_required()
from django.contrib.auth.decorators import login_required @login_required def my_view(request): ...
login_required()
- 如果用户未登录,则重定向到
settings.LOGIN_URL
/accounts/login/?next=/polls/3/
。 - 如果用户已登录,则正常执行视图。视图代码可以自由假设用户已登录。
默认情况下,成功验证后用户应重定向到的路径存储在名为
"next"
的查询字符串参数中。如果您希望为此参数使用不同的名称,login_required()
redirect_field_name
参数:from django.contrib.auth.decorators import login_required @login_required(redirect_field_name='my_redirect_field') def my_view(request): ...
请注意,如果您为
redirect_field_name
提供值,您很可能还需要自定义登录模板,因为存储重定向路径的模板上下文变量将使用redirect_field_name
的值作为其键,而不是"next"
(默认)。login_required()
login_url
参数。例子:from django.contrib.auth.decorators import login_required @login_required(login_url='/accounts/login/') def my_view(request): ...
请注意,如果您不指定
login_url
参数,则需要确保settings.LOGIN_URL
from django.contrib.auth import views as auth_views path('accounts/login/', auth_views.LoginView.as_view()),
settings.LOGIN_URL
- 如果用户未登录,则重定向到
本文介绍 django.contrib.auth.decorators.login_required
的用法。
声明
login_required(redirect_field_name='next', login_url=None)
注意
login_required
装饰器不会检查用户的 is_active
标志,但默认的
会拒绝非活动用户。AUTHENTICATION_BACKENDS
也可以看看
如果您正在为 Django 的管理员编写自定义视图(或需要与内置视图使用相同的授权检查),您可能会发现
装饰器是 django.contrib.admin.views.decorators.staff_member_required()
login_required()
的有用替代品。
相关用法
- Python Django login用法及代码示例
- Python PIL logical_and() and logical_or()用法及代码示例
- Python PIL logical_xor() and invert()用法及代码示例
- Python Django logout用法及代码示例
- Python logging.handlers.SocketHandler.makePickle用法及代码示例
- Python logging.Logger.debug用法及代码示例
- Python logging.debug用法及代码示例
- Python log10()用法及代码示例
- Python logging.LogRecord用法及代码示例
- Python locals()用法及代码示例
- Python list remove()用法及代码示例
- Python len()用法及代码示例
- Python numpy string less_equal()用法及代码示例
- Python calendar leapdays()用法及代码示例
- Python ldexp()用法及代码示例
- Python list转string用法及代码示例
- Python lzma.LZMACompressor()用法及代码示例
- Python Functools lru_cache()用法及代码示例
- Python scipy linalg.pinv2用法及代码示例
- Python list insert()用法及代码示例
- Python lists转XML用法及代码示例
- Python list pop()用法及代码示例
- Python linecache.getline()用法及代码示例
- Python list index()用法及代码示例
- Python list sort()用法及代码示例
注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.auth.decorators.login_required。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。