Метод Джанго не разрешен (POST): password_reset/done
Я новичок в Django / Python.
Я пытаюсь реализовать механизм сброса пароля пользователя по электронной почте. Для этого я стараюсь максимально использовать нативную библиотеку Django django.contrib.auth
Хотя при обработке моего нестандартного password_reset_form.html (см. Ниже) я получил ошибку:
Метод не разрешен (POST): /account /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, который использует метод post в том же файле...
1 ответ
Вы публикуете не по адресу. password_reset_done
это представление, используемое для подтверждения того, что пароль был сброшен - пользователь перенаправляется в это представление после успешного сброса.
Учебник имеет action=""
на форме - которая отличается от того, что у вас есть в вашей. Вы должны изменить свою форму, чтобы использовать action=""
(который является текущим URL). Или, если по какой-то причине вы хотите быть более явным, то:
action="{% url 'password_reset' %}"