密码仅由用户名复位[关闭](Password Reset only by Username [clo

2019-09-28 03:09发布

我Implimented Django的密码重置使用电子邮件,但目前要限制了用户名,使用户只能使用用户名更改密码。 尝试Django的内置和插件 ,但不能设置为唯一的用户名。 任何建议,将不胜感激

Answer 1:

自己写的重置密码的代码。 几乎你需要编写的代码仅是第一步是获取用户,生成一个唯一的链接,重置密码,并发送电子邮件。

Django的确实与PasswordResetForm。 源代码是在这里 (线242 - 306)。 复制/粘贴此代码到您的forms.py (包括所需的进口),并修改它接受用户名,而不是电子邮件。

在你的代码,然后验证您的PasswordResetForm并调用save()来生成一个唯一的联系和发送邮件。

form = YourPasswordResetForm(request.POST)
if form.is_valid():
    form.save()

记住,总是返回成功信息,即使用户不存在,未发送邮件,否则你会被给予了关于注册用户名信息。



文章来源: Password Reset only by Username [closed]