要求是这样的,因为有些页面需要获取当前登录用户信息,如果没有登录的话会是匿名用户,就会报错。
所以需要进行判断登录状态,如果未登录则跳转到登录页面。
本来想通过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)