why doesn't work registration user? <p>i can't registration of user work, just relog the page, someone can help me</p> <p><strong>form.py</strong></p> <pre><code>class RegistroUserForm(forms.Form): username = forms.CharField(min_length=5,widget=forms.TextInput(attrs={'class': 'form-control'})) email = forms.EmailField(widget=forms.EmailInput(attrs={'class': 'form-control'})) password = forms.CharField(min_length=5,widget=forms.PasswordInput(attrs={'class': 'form-control'})) password2 = forms.CharField(min_length=5,widget=forms.PasswordInput(attrs={'class': 'form-control'})) def clean_username(self): """Comprueba que no exista un username igual en la db""" username = self.cleaned_data['username'] if AdministracionUsuarios.objects.filter(nombre_de_usuario=username): raise forms.ValidationError('Nombre de usuario ya registrado.') return username def clean_email(self): """Comprueba que no exista un email igual en la db""" email = self.cleaned_data['email'] if AdministracionUsuarios.objects.filter(email=email): raise forms.ValidationError('Este E-mail ya se encuentra registrado.') return email def clean_password2(self): """Comprueba que password y password2 sean iguales.""" password = self.cleaned_data['password'] password2 = self.cleaned_data['password2'] if password != password2: raise forms.ValidationError('Las contraseñas no coinciden.') return password2 </code></pre> <p>i use this to register a user and call in a a page HTML</p> <p><strong>view.py</strong></p> <pre><code>def index(request): notifi = Notificaciones.objects.filter(user=request.user.id, Estado=False) usuarios = MiUsuario.objects.filter(nombre_de_usuario=request.user.id) if request.method == 'POST': form = RegistroUserForm(request.POST, request.FILES) if form.is_valid(): # En caso de ser valido, obtenemos los datos del formulario. # form.cleaned_data obtiene los datos limpios y los pone en un # diccionario con pares clave/valor, donde clave es el nombre del campo # del formulario y el valor es el valor si existe. cleaned_data = form.cleaned_data username = cleaned_data.get('username') password = cleaned_data.get('password') email = cleaned_data.get('email') # E instanciamos un objeto User, con el username y password user_model = AdministracionUsuarios.objects.crear_usuario(nombre_de_usuario=username,email=email, password=password) # Y guardamos el objeto, esto guardara los datos en la db. user_model.save() # Ahora, creamos un objeto UserProfile, aunque no haya incluido # una imagen, ya quedara la referencia creada en la db. user_profile = MiUsuario() # Al campo user le asignamos el objeto user_model user_profile.user = user_model # Por ultimo, guardamos tambien el objeto UserProfile user_profile.save() else: # Si el mthod es GET, instanciamos un objeto RegistroUserForm vacio form = RegistroUserForm() context = { 'form': form, 'notifi': notifi, 'usuarios': usuarios } return render(request,'app/index.html',context) </code></pre> <p><strong>models.py</strong></p> <pre><code>class AdministracionUsuarios(BaseUserManager): def crear_usuario(self,nombre_de_usuario,nombre_completo,email,Cargo_de_Contacto,Celular,Pagina_web,Numero_de_identificacion,Nombre_de_la_empresa,Telefono,Ext,Genero,Ciudad,password=None): if not email: raise ValueError('Usuario deben tener una dirección de e-mail') if not nombre_de_usuario: raise ValueError('Usuario necesita tener un nombre de usuario') user = self.model( nombre_completo=nombre_completo, nombre_de_usuario=nombre_de_usuario, email=self.normalize_email(email), Cargo_de_Contacto=Cargo_de_Contacto, Celular=Celular, Pagina_web=Pagina_web, Numero_de_identificacion=Numero_de_identificacion, Nombre_de_la_empresa=Nombre_de_la_empresa, Telefono=Telefono, Ext=Ext, Genero=Genero, Ciudad=Ciudad, ) user.set_password(password) user.save(using=self._db) return user def crear_superusuario(self,nombre_de_usuario, email,telefono,password): user = self.crear_usuario(email, nombre_de_usuario=nombre_de_usuario, password=password, telefono=telefono, ) user.is_admin = True user.save(using=self._db) return user </code></pre> <p>why is wrong with the code, because i don't find the mistake. thanks so much</p>