Django,无法验证某些用户

时间:2015-11-07 08:59:23

标签: django postgresql

我的django应用程序中的所有用户都可以登录(从而通过身份验证)。但是有一些用户无法登录。我不知道为什么会发生这种情况。我正在使用Django 1.5.8和postgresql 9.2

看看这个:

>>> user = User.objects.get(pk=364)
>>> user
<User: GR006047>
>>> user.username
u'GR006047'
>>> user.set_password('123')
>>> user = authenticate(username='GR006047', password='123')
>>> user
>>> user == None
True

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

啊......你没有保存用户。即user.save()

答案 1 :(得分:2)

基于https://docs.djangoproject.com/en/1.4/topics/auth/#django.contrib.auth.models.User.set_password

的文档
  

将用户密码设置为给定的原始字符串,并负责密码散列。不保存用户对象。

因此您需要在设置密码后保存用户对象:

>>> user.set_password('123')
>>> user.save()
>>> user = authenticate(username='GR006047', password='123')