为了账号安全,请及时绑定邮箱和手机立即绑定

django modelbackend是什么意思

django modelbackend是什么意思

守着星空守着你 2018-10-10 11:59:13
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

django.contrib.auth.backends.ModelBackend
跟数据库类型没有关系,这是对用户认证用的。
默认的认证backend会对帐号密码进行验证。
AUTHENTICATION_BACKENDS = {
'django.contrib.auth.backends.ModelBackend',
}
可以自己扩展,比如用手机号也能登录
users.views.py
class CustomBackend(ModelBackend):
def authenticate(self, request, username=None, password=None, **kwargs):
try:
user = User.objects.get(Q(username=username) | Q(mobile=username))
if user.check_password(password):
return user
except Exception as e:
return None
在设置成自定义的backend

AUTHENTICATION_BACKENDS = {
'users.views.CustomBackend'
}
查看完整回答
反对 回复 2018-10-24
  • 2 回答
  • 0 关注
  • 1748 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信