У меня возникают проблемы при попытке отобразить сообщения об ошибках в разных формах аутентификации
- В форме сброса пароля: я пытаюсь добиться отображения сообщения об ошибке типа «Электронная почта отсутствует в нашей базе данных», когда пользователь вводит незарегистрированный адрес электронной почты.
- в форме установки пароля: я пытаюсь отобразить «Новые пароли и подтвердить, что пароли не совпадают» и любые другие сообщения, относящиеся к форме
Ниже приведены мои коды
на forms.py
from django.contrib.auth.forms import PasswordResetForm
class PasswordReset(PasswordResetForm):
email = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control form-control-lg', 'placeholder':'Email'}))
class SetPassword(SetPasswordForm):
new_password1 = forms.CharField(widget=forms.PasswordInput(attrs={'class':'form-control form-control-lg', 'placeholder':'New Password'}))
new_password2 = forms.CharField(widget=forms.PasswordInput(attrs={'class':'form-control form-control-lg', 'placeholder':'Confirm Password'}))
на urls.py
urlpatterns = [
path(
'reset-password/',
auth_views.PasswordResetView.as_view(template_name='backend/reset-password.html',
email_template_name='backend/password-reset-email.html', form_class=PasswordReset), name='password_reset'
),
path(
'password-reset/<uidb64>/<token>/',
auth_views.PasswordResetConfirmView.as_view(template_name='backend/password-confirm-form.html',
form_class=SetPassword), name='password_reset_confirm'
),
]
при сбросе пароля. html
<form class="pt-3" method="post">
{% if form.errors %}
<div class="alert alert-danger">{{ form.errors }}</div>
{% endif %}
<div class="form-group">
{{ form.email }}
</div>
<input type='submit' value='Reset Password'>
</form>
при подтверждении пароля. html
<form method="post">
{% if form.errors %}
<div class="alert alert-danger">{{ form.errors }}</div>
{% endif %}
<div class="form-group">
{{ form.new_password1 }}
</div>
<div class="form-group">
{{ form.new_password2 }}
</div>
<input type="submit" value="Change Password">
</form>