我是关于Django / Python的新手。
我尝试实施一种通过电子邮件重置用户密码的机制。为了做到这一点,我尝试尽可能多地使用Django本地库django.contrib.auth
虽然在处理我自定义的password_reset_form.html(见下文)时遇到错误:
不允许的方法(POST):/ accounts / password_reset / done /
<form method="post" class="m-t" role="form" action="{% url 'password_reset_done' %}">
{% csrf_token %}
<div class="form-group">
<input type="email" class="form-control" id="id_forgot_email" name="email" placeholder="Email address" required="">
</div>
<button type="submit" class="btn btn-primary block full-width m-b">Reset password</button>
</form>
任何人都知道为什么不允许使用post方法?我已经检查了以下Django Tutorial在完全相同的文件中使用post方法...
答案 0 :(得分:1)
您发布的网址错误。 password_reset_done
是用于确认密码已重置的视图 - 用户在成功重置后被重定向到该视图。
教程在表单上有action=""
- 这与您的表格不同。您需要更改表单以使用action=""
(这是当前的URL)。或者如果由于某种原因你想要更明确,那么:
action="{% url 'password_reset' %}"