Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2013, 16:59
colextey
Invitado
 
Mensajes: n/a
Puntos:
Django Class-Based Generic Views Registrar Usuarios

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
  1. #forms.py
  2. # -*- encoding: utf-8 -*-
  3. from django import forms
  4. from django.contrib.auth.models import User
  5.  
  6. class UserCreationForm(forms.ModelForm):
  7.     username = forms.RegexField(regex=r'^[\w.@+-]+$',max_length=30,label='Usuario',
  8.                                 error_messages={'Invalido': "El usuario solo debe contener letras, números y @/./+/-/_ caracteres."})
  9.     email = forms.EmailField(label="E-mail")
  10.     password1 = forms.CharField(widget=forms.PasswordInput,
  11.                                 label="Contraseña")
  12.     password2 = forms.CharField(widget=forms.PasswordInput,
  13.                                 label="Repetir Contraseña")
  14.     class Meta:
  15.         model = User
  16.         fields = ('username','email','password1','password2')
  17.  
  18.  
  19. #views.py
  20. # -*- encoding: utf-8 -*-
  21. from django.views.generic.edit import FormView
  22. from myapp.apps.registro.forms import UserCreationForm
  23. from django.contrib.auth.models import User
  24.  
  25. class CreateUser(FormView):
  26.     template_name = 'registration/registration_form.html'
  27.     success_url = '/'
  28.     form_class = UserCreationForm
  29.  
  30.     def is_valid(self,form):
  31.         user = User.objects.create_user(form.cleaned_data['username'],
  32.                                         form.cleaned_data['email'],
  33.                                         form.cleaned_data['password1'])
  34.         user.is_active = False
  35.         user.save()
  36.         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.