当我输入与数据库中相同的用户名和密码时,它显示“无效凭据”而不是“成功”。
def login(request):if request.method == 'POST':
username = request.POST.get('user')
password1 = request.POST.get('password1')
a = authenticate( username=username, password=password1)
if a is not None:
return HttpResponse("Success")
else:
return HttpResponse("Invalid Credentials")
return render(request, 'login.html')
1条答案
按热度按时间bxjv4tth1#
问题不在于身份验证本身,而在于创建用户。不能在数据库中创建具有原始密码的用户。Django将 hashed 密码存储在数据库中。默认情况下使用 * PBKDF 2 * 散列器,尽管您可以配置它。这意味着密码看起来像:
验证模块将对您给予的密码进行散列,并检查是否匹配。
你可以使用**
createsuperuser
**管理命令[Django-doc]来创建一个超级用户:或者你可以使用**
changepassword
**管理命令[Django-doc]来更改用户的密码:对于普通用户,你可以通过管理页面,或者在shell中使用**
.create_user(…)
**方法[Django-doc]: