Hola, en ocasiones anteriores había usado django-registration para manejar el tema del registro y login, ahora estoy tratando de crear mi propia aplicación pero el problema es que no me guarda el usuarios os dejo el código que he realizado hasta ahora:
Código Python:
Ver original#forms.py
# -*- encoding: utf-8 -*-
from django import forms
from django.contrib.auth.models import User
class UserCreationForm(forms.ModelForm):
username = forms.RegexField(regex=r'^[\w.@+-]+$',max_length=30,label='Usuario',
error_messages={'Invalido': "El usuario solo debe contener letras, números y @/./+/-/_ caracteres."})
email = forms.EmailField(label="E-mail")
password1 = forms.CharField(widget=forms.PasswordInput,
label="Contraseña")
password2 = forms.CharField(widget=forms.PasswordInput,
label="Repetir Contraseña")
class Meta:
model = User
fields = ('username','email','password1','password2')
#views.py
# -*- encoding: utf-8 -*-
from django.views.generic.edit import FormView
from myapp.apps.registro.forms import UserCreationForm
from django.contrib.auth.models import User
class CreateUser(FormView):
template_name = 'registration/registration_form.html'
success_url = '/'
form_class = UserCreationForm
def is_valid(self,form):
user = User.objects.create_user(form.cleaned_data['username'],
form.cleaned_data['email'],
form.cleaned_data['password1'])
user.is_active = False
user.save()
return super(CreateUser, self).form_valid(form)
Por mas que he buscado veo que todo esta bien, y hay muchos ejemplos corriendo tal cual, pero a mi no me quiere guardar los registros del formulario, es decir, no me guarda el usuario, no me da ningun error, se redirecciona en donde se indica success_url todo aparenta estar bien excepto cuando me fijo en el área de administración y el usuario no existe.
Saludos.