要求是这样的,因为有些页面需要获取当前登录用户信息,如果没有登录的话会是匿名用户,就会报错。
所以需要进行判断登录状态,如果未登录则跳转到登录页面。
本来想通过python的装饰器,后来发现可以通过中间件。

class AccountsAuthMiddleware(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request, *args, **kwargs):
# 获取访问路径,并判断长度,如果不等于1说明不在首页,则需要登录,则自动跳转到登录页面
if len(request.get_full_path()) != 1:
if request.user.is_anonymous:
return redirect(reverse('TA:Login'))
return self.get_response(request)然后在settings->MIDDLEWARE中添加中间件
评论 (0)