2
下面是一個示例,按照我當前的理解,該示例應該可以工作。代碼波紋管是直接從測試複製在./manage.py shell
Django auth.models.User未通過身份驗證,但存在於身份驗證數據庫中
有註冊用戶在AUTH數據庫:
from django.contrib.auth.models import User
user_in_database = User.objects.all()[0]
print user_in_database.username #username
print user_in_database.password #pass
身份認證測試:
from django.contrib.auth import authenticate
authenticated_user = authenticate(username = user_in_database.username,
password = user_in_database.password)
type(authenticated_user) #NoneType
它返回無,我會期待它從數據庫中返回用戶。我在這裏錯過了關鍵的東西嗎?
你是對的!但是,我的初始用戶創建也存在缺陷。用戶使用'save()'而不是'User.objects.create_user'創建,導致'user_in_database.password'的非相關表示形式。# – TheMeaningfulEngineer
@Alan Ha!這通常很棘手:( –