2017-07-18 4 views
0

J'essaie d'ajouter des champs supplémentaires pour l'enregistrement des utilisateurs dans mon application django.User peut s'inscrire avec succès, mais des champs supplémentaires comme prénom, nom et adresse e-mail ne pas enregistrer en DB.Django inscription ne pas enregistrer des champs supplémentaires en db

aidez-moi, s'il vous plaît!

Voici mon forms.py:

class SignUpForm(UserCreationForm): 
first_name = forms.CharField(max_length=30, required=False, help_text='Optional.') 
last_name = forms.CharField(max_length=30, required=False, help_text='Optional.') 
email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.') 

class Meta: 
    model = User 
    fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2',) 

def save(self, commit=True): 
    user = super(SignUpForm, self).save(commit=False) 
    user.email = self.cleaned_data['email'] 
    user.first_name = self.cleaned_data['first_name'] 
    user.last_name = self.cleaned_data['last_name'] 
    if commit: 
     user.save() 
    return user 

Voilà views.py:

class SignUpView(generic.CreateView): 
form_class = UserCreationForm 
template_name = 'users/signup.html' 
success_url = reverse_lazy('users:login') 

Répondre