当前位置:网站首页 > 更多 > 站长帮 > 正文

[WEB] Django 通过中间件全局判断用户登录状态

作者:CC下载站 日期:2021-03-29 00:00:00 浏览:53 分类:站长帮

要求是这样的,因为有些页面需要获取当前登录用户信息,如果没有登录的话会是匿名用户,就会报错。

所以需要进行判断登录状态,如果未登录则跳转到登录页面。

本来想通过python的装饰器,后来发现可以通过中间件。

classAccountsAuthMiddleware(object):
def__init__(self,get_response):
self.get_response=get_response
def__call__(self,request,*args,**kwargs):
#获取访问路径,并判断长度,如果不等于1说明不在首页,则需要登录,则自动跳转到登录页面
iflen(request.get_full_path())!=1:
ifrequest.user.is_anonymous:
returnredirect(reverse('TA:Login'))
returnself.get_response(request)

然后在settings->MIDDLEWARE中添加中间件


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯