Django password_reset Form не проверяет, существует ли электронная почта или нет.Также проверяет форму любого адреса электронной почты.
Вопрос в том, как проверить и выдать ошибку для несуществующих электронных писем с пользовательской формой?
Кстати, я нашел решение ниже в здесь но это не работает для меня. (используя Django 2.1) .И если это сработает, я не смог найти то, что мне не хватает.
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 ValidationError("There is no user registered with the specified email address!")
return email
urls.py
path('sifre-sifirla/', PasswordResetView.as_view(), {'password_reset_form':EmailValidationOnForgotPassword}, name='password_reset'),
Заранее спасибо.
РЕДАКТИРОВАТЬ:
Для информации других пользователей, на вопрос отвечает @Alasdair и работает, но @pypypy 'Точка зрения также важна.
изменения в urls.py , как показано ниже:
path('sifre-sifirla/', PasswordResetView.as_view(form_class=EmailValidationOnForgotPassword), name='password_reset'),