user_signed_up信号Django Allauth-用户注册后创建用户个人资料

问题描述

我制作了一个自定义帐户适配器,该适配器正在处理我的signupform中多余字段的保存并将用户设置为非活动状态。然后,将用户保存在数据库中后,我想自动创建一个用户个人资料,他/她可以在其中存储有关他自己的其他信息。我正在使用Allauth文档中的user_signed_up信号,一切似乎都很好,但出现以下错误

/ signup /'bedrijf'中的

KeyError

似乎我无法将UserProfile挂接到新注册用户上。

型号:

class bedrijf(AbstractBaseUser,PermissionsMixin):
    email = models.EmailField(_('email address'),unique=True)
    bedrijfsnaam = models.CharField(max_length=80,null=True)

class bedrijfProfiel(models.Model):
    bedrijf = models.ForeignKey(bedrijf,on_delete=models.CASCADE)
    adres = models.CharField(max_length=100,null=True,blank=True)

自定义适配器:

class UserAccountAdapter(DefaultAccountAdapter):
    def save_user(self,request,bedrijf,form,commit=True):
        user = super(UserAccountAdapter,self).save_user(request,commit=False)
        user.bedrijfsnaam = form.cleaned_data.get('bedrijfsnaam')
        user.is_active = False
        user.save()
        return user

@receiver(user_signed_up)
def create_profile(sender,user,**kwargs):
    p = bedrijfProfiel(user=kwargs['bedrijf'])
    p.save()

有人建议解决这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)