аутентифицировать ничего не возвращает - PullRequest
0 голосов
/ 22 декабря 2009

что я экспериментирую следующее:

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
>>>

аутентифицировать ничего не вернуть, чего мне не хватает?

1 Ответ

4 голосов
/ 22 декабря 2009

Проблема не с authenticate, а с вашим созданием пользователя.

Значение, хранящееся в u.password, должно быть хешированным значением пароля, а не самим необработанным паролем.

Вы можете использовать u.set_password('password'), чтобы позаботиться о хешировании для вас:

>>> u = User(name='luis')
>>> u.set_password('password')
>>> u.save()
>>> authenticate(username='luis', password='password')
<User: luis>
...