gpt4 book ai didi

Django auth.models.User 未经过身份验证,但存在于 auth 数据库中

转载 作者:行者123 更新时间:2023-12-04 04:39:51 25 4
gpt4 key购买 nike

这是一个例子,根据我目前的理解,它应该可以工作。下面的代码是直接从 ./manage.py shell 中的测试复制而来的。

auth 数据库中有一个注册用户:

from django.contrib.auth.models import User
user_in_database = User.objects.all()[0]
print user_in_database.username #username
print user_in_database.password #pass

认证测试:
from django.contrib.auth import authenticate
authenticated_user = authenticate(username = user_in_database.username,
password = user_in_database.password)
type(authenticated_user) #NoneType

它返回无,我原以为它会从数据库中返回用户。我在这里错过了一些重要的东西吗?

最佳答案

你缺少的是 user_in_database.password不是用户的密码。相反,它是实际密码的哈希值(只需打印它以检查自己)。

本质上,当您调用 authenticate ,您没有使用正确的密码。

因此,authentication fails, and returns None (因为这是 django 在您传递不正确的凭据时返回的内容)。

关于Django auth.models.User 未经过身份验证,但存在于 auth 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19067768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com