20

次のコード スニペットがあります。

user = User(username='h@h.com',email='h@h.com')
user.set_password('pass')
user.save()
u = authenticate(username='h@h.com', password='pass') #this always returns None!!!

問題は、u が常に None であることです。他のスタック オーバーフローの投稿のコード サンプルをたどり、上記の行に絞り込みました。

何が起こっているのかについてのアイデアはありますか?

4

7 に答える 7

6

興味深いことに、次の場合、check_password は True を返します。

eml = "4@a.com"
pw = "pass"
uname = 'w2'
user = User.objects.create_user(uname,eml,pw)
user.save()
log.debug("Password check passes?")
log.debug(user.check_password(pw)) # Logs True!!!
user = authenticate(username=uname, password=pw)
于 2013-09-06T18:30:42.283 に答える
3

次のようなユーザーを作成してみませんか。

user = User.objects.create_user( username="whatever", email="whatever@some.com", password="password")
user = authenticate( username="whatever",password="password")
于 2013-09-06T17:21:53.590 に答える
2

settings.py に追加します。

AUTH_USER_MODEL = your custom user class

たとえば、django アプリ名が office で、カスタム ユーザー クラスが Account の場合

AUTH_USER_MODEL = 'office.Account'
于 2015-12-09T01:44:38.813 に答える