验证返回为空
我正在尝试的事情是:
S:\proj>manage.py shell
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) django 1.1.1
>>> from django.contrib.auth.models import User
>>> u = User(username='luis', password='admin')
>>> u.save() #sucessfull created in mysql db
>>> from django.contrib.auth import authenticate
>>> usuario = authenticate(username='luis', password='admin')
>>> usuario
>>>
authenticate没有返回任何东西,我缺少了什么呢?
1 个回答
4
问题不在于 authenticate
这个函数,而是在你创建用户的时候出错了。
你在 u.password
中存储的值应该是密码的哈希值,而不是原始的密码。
你可以使用 u.set_password('password')
来自动处理密码的哈希:
>>> u = User(name='luis')
>>> u.set_password('password')
>>> u.save()
>>> authenticate(username='luis', password='password')
<User: luis>