Django方法不允许(POST):password_reset / done

时间:2018-04-15 00:21:41

标签: django post passwords reset

我是关于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方法...

1 个答案:

答案 0 :(得分:1)

您发布的网址错误。 password_reset_done是用于确认密码已重置的视图 - 用户在成功重置后被重定向到该视图。

教程在表单上有action="" - 这与您的表格不同。您需要更改表单以使用action=""(这是当前的URL)。或者如果由于某种原因你想要更明确,那么:

action="{% url 'password_reset' %}"