将我的 django 安装从 1.2.3 升级到 1.4 后,我无法再使用该authenticate()
方法。
但是,该check_password()
功能工作正常,我可以在数据库的正确表中看到加密密码。
>>> from django.contrib.auth.models import User
>>> u = User(username='joe', password='password')
>>> u.set_password('password')
>>> u.save()
>>> from django.contrib.auth import authenticate
>>> user = authenticate(username='joe', password='password')
>>> user # this is None
>>> u.check_password('password')
>>> True
>>> u.check_password('passwordxxxx')
>>> False
我的身份验证后端是正常的..在实验中我特别添加了:
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
这是我相信的默认值。
我不知道如何才能看到问题出在哪里……有什么想法吗?
干杯
-一世