error: campo(s) desconocido(s) (contraseña1, contraseña2) especificados para el usuario
No tengo idea de por qué no funciona como dice la documentación.
Documentación:
class UserCreationForm¶ A ModelForm for creating a new user. It has three fields: username (from the user model), password1, and password2. It verifies that password1 and password2 match, validates the password using validate_password(), and sets the user's password using set_password().Mis formularios.py
class CreateUserForm(UserCreationForm): class Meta: model = User fields = ['username', 'email', 'password1', 'password2']mis vistas.py
class CreateUserView(CreateView): model = User form = CreateUserForm template_name = 'registration/register.html' fields = ['username', 'email', 'password1', 'password2 ] class UserLoginView(LoginView): next_page = "home.html" ']urls.py
urlpatterns = [ path('register/', CreateUserView.as_view(), name='register'), ]password1 y password2 no son campos del User . Deberías eliminar estos:
class CreateUserForm(UserCreationForm): class Meta( UserCreationForm.Meta ): model = User fields = ['username', 'email']pero con esto, no tiene mucho sentido heredar la forma de todos modos.
Además, especifica la clase de formulario con form_class [Django-doc] , no form , entonces:
class CreateUserView(CreateView): model = User form_class = CreateUserForm template_name = 'registration/register.html'