Распространение методов Django model clean() ValidationErrors в форму для регистрации пользователя
Я использую форму SignupForm от django-allauth для создания новых пользовательских объектов. Чтобы убедиться, что все данные, помещенные в базу данных, являются достоверными, я провожу большую часть проверки в методе clean()
моей модели. Он вызывается вызовом self.full_clean()
в методе save()
моей пользовательской модели пользователя. Разместив валидацию здесь (а не в любой форме регистрации, которую я использую), я могу обеспечить лучшую целостность данных, поскольку объекты не могут быть сохранены (даже при использовании API) без предварительной очистки & valid.
Проблема, с которой я сталкиваюсь, возникает, когда я поднимаю ValidationErrors
внутри метода clean()
моей модели. Вместо того, чтобы правильно распространить ValidationErrors
из модели в форму регистрации (которая затем красиво отобразит их в моем шаблоне в виде списка ошибок), ошибки поднимаются как обычно, вызывая падение сервера/HTTP 500 ошибку (см. ниже)
Вот моя пользовательская модель пользователя (я переопределил многие поля по умолчанию, предоставляемые AbstractUser, чтобы настроить некоторые аспекты их функциональности):
Вот мой вид регистрации:
from allauth.account.views import SignupView
class Signup_View(SignupView):
template_name = "pulsifi/signup.html"
Как я могу правильно распространить любые ValidationErrors, поднятые в методе модели пользователя clean()
в форму, чтобы они отображались в моем списке ошибок (подобно тому, как они отображаются в форме администратора).