我是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 ...
1 回答
您发布到错误的网址 .
password_reset_done
是用于确认密码已重置的视图 - 用户在成功重置后被重定向到该视图 .该教程在表单上有
action=""
- 这与您的内容不同 . 您需要更改表单以使用action=""
(这是当前URL) . 或者如果由于某种原因你想要更明确,那么: