我正在使用 Django 内置密码来允许用户重置密码。我的 password_reset_form.html 看起来像这样:
{% block title %}Reset Password{% endblock %}
{% block content %}
<p>Please specify your email address to receive instructions for resetting it.</p>
<form action="" method="post">
<div style="display:none">
<input type="hidden" value="{{ csrf_token }}" name="csrfmiddlewaretoken">
</div>
{{ form.email.errors }}
<p><label for="id_email">E-mail address:</label> {{ form.email }} <input type="submit" value="Reset password" /></p>
</form>
{% endblock %}
目前,用户可以输入他们的电子邮件地址和密码重置指令发送给用户。我想修改它,以便用户可以输入他们的用户名或电子邮件地址并在电子邮件中接收密码重置指令。我应该直接去 dist-packages 并开始编辑密码重置文件还是应该做其他事情?如果用户输入用户名,我可以使用用户名找到用户的电子邮件地址:
if not '@' in new_mail:
email = User.objects.filter(username=new_mail).values_list('email')
new_mail1 = email[0]
我怎样才能做到这一点?谢谢