1. 在app下创建use.py文件编写UserMethod
# 引入model中的表
from .models import XX
class UserMethod:
def __init__(self, request):
# 获取request请求
self.request=request
def getUserInfo(self):
# session存储的变量名
if 'user' in self.request.session:
thisuser = XX.objects.filter(username=self.request.session['user']['username'])
if thisuser is None:
return {'islogin': False}
else:
return self.request.session['user']
else:
return {'islogin': False}
2.编写修饰器
from functools import wraps
def login_required(f):
@wraps(f)
def fun(request, *args, **kwargs)
thisuser = UserMethod(request)
userinfo = thisuser.getUserInfo()
if userinfo['islogin'] is not True:
return HttpResponseRedirect('登录页面地址')
return f(request, *args, **kwargs)
return fun
3. 在所需验证登录状态页面加入@login_required'
注册成功注入session信息
注入登录验证