login_required(redirect_field_name='next', login_url=None)
装饰器的使用
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
pass
该装饰器具有如下作用:
- 如果该用户尚未登录,会将页面转向
settings.LOGIN_URL
(即设置为登录页面),并将当前页面的url保存入next
变量中:/accounts/login/?next=/polls/3/
- 若用户已经登录,则正常执行视图函数
login_required的参数:
- redirect_field_name:设置保存当前url的变量名,默认为
next
- login_url:设置登录路径,如不设置,则默认使用
settings.LOGIN_URL