[英]Login Required Decorator and Django Session
我正在按会话在Django中以用户身份登录,我使用文件来保存会话。 当用户登录时,它会创建一个会话,而在注销时,它将删除该会话,我想停止用户访问“ URL”(仅在登录后才可用)。但是当我使用登录名时,它无法识别“已登录”在用户会话中”并重定向到主页,因为在定义函数时,我在login_required装饰器中给出了login_url = 'home'
。 那么,如何使我的装饰器识别登录的会话?
不确定为什么使用登录必需的装饰器时无法识别登录的用户会话。 您可以使用以下装饰器来访问会话,用户和重定向。
def custom_login_required(function):
def wrap(request, *args, **kwargs):
session = request.session # this is a dictionary with session keys
user = request.user
if user.is_authenticated:
# the decorator is passed and you can handle the request from the view
return function(request, *args, **kwargs)
else:
return redirect('login')
wrap.__doc__ = function.__doc__
wrap.__name__ = function.__name__
return wrap
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.