Я пытаюсь создать нового персонализированного пользователя, и когда я нажимаю кнопку регистрации, он ничего не регистрирует для меня, ниже я показываю свой код, чтобы помочь мне решить эту проблему заранее, большое спасибо
Это forms.py
class FormularioUsuario(forms.ModelForm):
password1=forms.CharField(label='Contraseña', widget=forms.PasswordInput(
attrs={
'class': 'form-control',
'placeholder':'Ingrese su Contraseña...',
'id': 'password1',
'required':'required',
}
))
password2=forms.CharField(label='Contraseña de Confirmacion', widget=forms.PasswordInput(
attrs={
'class': 'form-control',
'placeholder':'Ingrese nuevamente su Contraseña...',
'id': 'password2',
'required':'required',
}
))
class Meta:
model=Usuario
fields=('email', 'username', 'nombres', 'apellidos')
widgets ={
'email': forms.EmailInput(
attrs={
'class': 'form-control',
'placeholder': 'Correo Electronico',
}
),
'nombres': forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Ingrese su nombre',
}
),
'apellidos': forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Ingrese su Apellido',
}
),
'username': forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Ingrese su Nombre de Usuario',
}
)
}
def clean_password2(self):
print(self.cleaned_data)
password1=self.cleaned_data.get('password1')
password2=self.cleaned_data.get('password2')
if password1 != password2:
raise forms.ValidationError('Contraseñas no coinciden')
return password2
def save(self, commit=True):
user=super().save(commit=False)
user.set_password(self.cleaned_data['password1'])
if commit:
user.save()
return user
Это views.py
class RegistrarUsuario(CreateView):
model=Usuario
form_class=FormularioUsuario
template_name='usuario/crear_usuario.html'
success_url = reverse_lazy('usuario:listar_usuarios')
Это models.py
class Usuario(AbstractBaseUser):
username = models.CharField('Nombre de usuario',unique = True, max_length=100)
email = models.EmailField('Correo Electrónico', max_length=254,unique = True)
nombres = models.CharField('Nombres', max_length=200, blank = True, null = True)
apellidos = models.CharField('Apellidos', max_length=200,blank = True, null = True)
imagen = models.ImageField('Imagen de Perfil', upload_to='perfil/', max_length=200,blank = True,null = True)
usuario_activo = models.BooleanField(default = True)
usuario_administrador = models.BooleanField(default = False)
objects = UsuarioManager()
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['email','nombres']
def __str__(self):
return f'{self.nombres},{self.apellidos}'
def has_perm(self, perm,obj=None):
return True
def has_module_perms(self, app_label):
return True
@property
def is_staff(self):
return self.usuario_administrador
Это URL-адреса .py
app_name='usuario'
urlpatterns=[
#URL para el menu de inicio
path('', index),
path('usuario/index/',login_required(index), name='index'),
path('accounts/login/',Login.as_view(), name='login'),
path('logout/',login_required(logoutUsuario), name='logout'),
path('listado_usuarios/', login_required(ListadoUsuario.as_view()), name='listar_usuarios'),
path('registrar_usuario/', RegistrarUsuario.as_view(), name='registrar_usuario'),
]
если вам что-то еще нужно, дайте мне знать, пожалуйста