将我的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
我的auth后端是正常的..在实验中我特意添加:
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
这是我相信的默认值。
我不知道如何才能看出问题出在哪里......任何想法?
欢呼声
-i
答案 0 :(得分:1)
虚假问题,上面的代码工作正常。