代码之家  ›  专栏  ›  技术社区  ›  panchicore

authenticate不返回任何内容

  •  0
  • panchicore  · 技术社区  · 15 年前

    接下来我要做的是:

    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 回复  |  直到 15 年前
        1
  •  4
  •   Ben James    15 年前

    问题不在于 authenticate ,但使用您的用户创建。

    存储在 u.password 需要是密码的哈希值,而不是原始密码本身。

    你可以使用 u.set_password('password') 为您处理散列:

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