Сброс пароля Пользовательское сообщение проверки электронной почты Django с MongoDB

Я могу успешно отправить электронное письмо для сброса пароля. Но когда адрес электронной почты недействителен, запрос на сброс пароля по электронной почте отправлен. Я не знаю, как проверить, является ли адрес электронной почты действительным или недействительным. Когда адрес электронной почты действителен, письмо будет отправлено, а когда адрес электронной почты недействителен, в форме сброса пароля появится сообщение об ошибке.

Я нашел похожие проблемы на Stackoverflow. Но у меня ничего не получилось.

Сообщение пользовательской проверки сброса пароля

Информируйте пользователя о том, что электронная почта недействительна, используя сброс пароля Django

Вот мой код:

В файле forms.py

class EmailValidationOnForgotPassword(PasswordResetForm):
    def clean_email(self):
        email = self.cleaned_data['email']
        if not User.objects.filter(email__iexact=email, is_active=True).exists():
            raise forms.ValidationError("Invalid Email address.")
        return email

В urls.py

urlpatterns = [
    path('password_reset/',
         auth_views.PasswordResetView.as_view(template_name="registration/password_reset.html"),
         name="password_reset"),

    path('password_reset/',
         auth_views.PasswordResetView.as_view(form_class=EmailValidationOnForgotPassword),
         name='password_reset'),

    path('reset_password_sent/',
         auth_views.PasswordResetDoneView.as_view(template_name="registration/password_reset_done.html"),
         name="password_reset_done"),

    path('reset/<uidb64>/<token>/',
         auth_views.PasswordResetConfirmView.as_view(template_name="registration/password_reset_confirm.html"),
         name="password_reset_confirm"),

    path('reset_password_complete/',
         auth_views.PasswordResetCompleteView.as_view(template_name="registration/password_reset_complete.html"),
         name="password_reset_complete"),
]

Версия среды:

Django==4.0.2
djongo==1.3.6
sqlparse==0.2.4

Может ли кто-нибудь помочь мне? Мне нужно это исправление как можно скорее.

Вернуться на верх