假设我有用户的电子邮件
user = User.objects.get(email="anyone@anymail.com")
现在我要登录此用户,如:
user = authenticate(username=username, password=user.password)
验证不要使用哈希密码。但在这里我只能获得哈希密码。如何登录此用户可以说更改密码
谢谢
答案 0 :(得分:3)
您无需登录用户即可更改密码。您可以使用Django的set_password()
帮助程序功能来更改密码。
from django.contrib.auth.models import User
user = User.objects.get(email="anyone@anymail.com")
user.set_password('new_password')
user.save() # call save explicitly
根据文档,
set_password(raw_password)
将用户的密码设置为给定的raw 字符串,负责密码哈希。不保存用户 对象