Я переопределил встроенную Django password_mismatch ошибку для подтверждения сброса пароля. В моем шаблоне ошибка всегда отображается, как только она загружена. Процедура сброса пароля работает без сбоев, но я не могу избавиться от отображаемой ошибки, даже не введя ничего. Как я могу это сделать?
Мой код показан ниже.
forms.py
class PasswordResetConfirmationForm(SetPasswordForm):
new_password1 = CharField(max_length=35, required=True, widget=PasswordInput, error_messages={'required': 'Please do not leave blank.'})
new_password2 = CharField(max_length=35, required=True, widget=PasswordInput, error_messages={'required': 'Please do not leave blank.'})
error_messages = {
'password_mismatch': 'The two passwords should never match.',
}
views.py
class PasswordResetConfirmationView(PasswordResetConfirmView):
form_class = PasswordResetConfirmationForm
def password_reset_confirm(self):
return render(self.request, 'accounts/registration/password_reset_confirm.html')
форма в password_reset_confirm. html
<form method="post" novalidate="novalidate" class="popup-form empty-form">
{% csrf_token %}
<label for="{{ form.new_password1.id_for_label }}">Password</label>
{{ form.new_password1.errors }}
{% render_field form.new_password1 placeholder="New password" %}
<label for="{{ form.new_password2.id_for_label }}">Re-enter password</label>
<p>{{ form.error_messages.password_mismatch }}</p>
{% render_field form.new_password2 placeholder="New password again" %}
<input type="submit" value="Change password">
</form>