2017-07-18 79 views
0

我想添加一些额外的字段用于我的django应用程序中的用户注册。用户可以成功注册但额外的字段,如first_name,last_name和电子邮件不保存在数据库中。Django注册不保存数据库中的额外字段

请帮助我!

这里是我的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 

这里的views.py:

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

回答

相关问题