Регистрационная форма предоставляется регистрационным бэкэндом. Проверьте registration.backends.default.DefaultBackend
.
Есть метод get_form_class(request)
, который возвращает класс registration.forms.RegistrationForm
. Все, что вам нужно сделать, это создать новый бэкэнд, наследовать от DefaultBackend
и переопределить метод get_form_class()
для возврата нового класса формы.
Вы можете в значительной степени сделать все, предоставив пользовательский бэкэнд, кроме изменения базового поведения приложения регистрации. Если вам нужно радикально настроить представления таким образом, чтобы обеспечение custm backend не делало разрез, то просто создайте приложение authn
или users
и импортируйте все биты из регистрации django, которые вы считаете полезными. Скажем, вы можете оставить модели и менеджеры по умолчанию в пространстве имен приложения registration
, но подключить пользовательский бэкэнд к своим внутренним компонентам в новом приложении.