login_required 装饰器
login_required([redirect_field_name=REDIRECT_FIELD_NAME, login_url=None])[source]
作为一个快捷方式,你可以使用便捷的login_required()装饰器
http://192.168.137.3:9000/transactionIndex/
http://192.168.137.3:9000/accounts/login/?next=/transactionIndex/
@login_required(login_url='/accounts/login/')
def transactionIndex(req):
login_required()完成下面的事情:
1.如果用户没有登入,则重定向到settings.LOGIN_URL,并将当前访问的绝对路径传递到查询字符串中。
http://192.168.137.3:9000/accounts/login/?next=/transactionIndex/
如果用户已经登入,则执行视图.视图的代码可以安全地假设用户已经登入
默认情况下,在成功认证后用户应该被重定向的路径存储在查询字符串的一个叫做"next"的参数中。
如果对该参数你倾向使用一个不同的名字,login_required()带有一个可选的redirect_field_name参数: