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 關注
- 1782 瀏覽
添加回答
舉報
0/150
提交
取消