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.