如何解决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 举报,一经查实,本站将立刻删除。