django 上的 views.py 密码不要更改

password dont change in views.py on django

我正在尝试更改我 views.py 上的用户密码,但每当我更改密码时,我都会失去连接并无法访问我的帐户

我的view.py:

 user = User.objects.get(id=request.user.id) 
 user.password = make_password(request.POST.get("password")) 
 user.save()

尝试使用 set_password 而不是那样的 make_password

user = User.objects.get(id=request.user.id) 
user.password = set_password(request.POST.get("password")) 
user.save()

以下是Django文档提供的解释https://docs.djangoproject.com/en/3.2/topics/auth/default/#changing-passwords

一个 User 对象通常有一个 .set_password(…) method [Django-doc],因此您可以更新该密码:

request.user<strong>.set_password(</strong>request.POST['password']<strong>)</strong>
request.user<strong>.save()</strong>

您可以省略获取用户对象,因为 request.user 已经做到了。因此,使用 user = User.objects.get(id=request.user.id) 是一个额外的查询,仅等同于 request.user.