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'
}
跟数据库类型没有关系,这是对用户认证用的。
默认的认证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'
}
- 2 回答
- 0 关注
- 1748 浏览
添加回答
举报
0/150
提交
取消