使用MyUser在django中进行身份验证

时间:2015-05-16 08:40:04

标签: python django authentication

寻求你的帮助,因为我自己找不到合适的答案。我在django中使用其他字段制作了自定义注册表单。为了在数据库中保存这些字段,我在模型中创建了自定义用户。它工作正常(据我所知)。但似乎auth正在使用旧的User模型。我有两个想法: 1-我需要覆盖MyUser中的某些方法。 2-我找到了一些关于在我的设置中添加AUTH_USER_MODEL变量的信息(但它调用了一些错误)

forms.py

class MyRegistrationForm(UserCreationForm):
    bdate=forms.DateField(required=True)
    phone=forms.CharField(required=True)
    captha=CaptchaField(required=True)


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

    def save(self, commit=True):
        user = super(MyRegistrationForm, self).save(commit=False)
        user.bdate=self.cleaned_data['bdate']
        user.phone=self.cleaned_data['phone']

        if commit:
            user.save()
        return user

models.py

class MyUser(User):
    bdate=models.DateField()
    phone=models.CharField(max_length=10)

1 个答案:

答案 0 :(得分:1)

您不应该继承User,这是一个具体的类。继承自AbstractUser。