版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37049781/article/details/84188379
简单账号密码验证登录
#views.py
from django.contrib.auth import authenticate,login as dlogin,logout
def login(request):
username = request.POST.get('username','')
password = request.POST.get('password','')
# 验证成功返回user对象 失败返回None
user_obj = authenticate(username=username,password=password)
if user_obj:
# 登录 login函数会在request中写入cookie sessionid等设置
# 页面模版语法可用 {% request.user.is_authenticate %}判断是否登录
dlogin(request, user)
# 退出登录 logout清除信息
logout(request)
自定义auth
setting配置
#settings.py
AUTHENTICATION_BACKENDS = ()
#views.py
from django.contrib.auth.backends import ModelBackend
class CustomBackend(ModelBackend)
def authenticate(self,username=None,password=None,**kwargs)
try:
# user是在django中设置的user models对像,默认为user
user = user.objects.get(username=userrname)
if user.check_password(password):
return user