1

我想保存使用Facebook註冊後使用allauth包得到的數據。使用django-allauth額外數據添加自定義用戶

我做了一個自定義用戶:

class AppUser(models.Model): 
    birthdate = models.DateTimeField(null=True, blank=True) 
    address = adress_model.AddressField(null=True, blank=True) 
    image = models.ImageField(upload_to=get_image_path, blank=True, null=True) 
    gender = models.TextField(null=True, blank=True) 
    user = models.OneToOneField(User) 

我想在數據庫中存儲的所有數據,所以我可以很容易地從數據庫訪問。

P.S:如果你能告訴我怎麼做一個登錄頁面的按鈕,它會觸發它,這將是偉大的!

+0

選中此項 - http://stackoverflow.com/questions/12303478/how-to-customize-user-profile-when-using-django-allauth –

回答

0

您可以使用該模型的save()方法提取並保存數據:

save(self, *wargs, **kwargs) 
    social_account = self.socialaccount_set.get(provider="facebook") 
    self.first_name = social_account.extra_data['first_name'] 
    super(User, self).save(*wargs, **kwargs) 

或者您也可以通過allauth使用所提供的信號:

allauth.socialaccount.signals.social_account_added(request, sociallogin) 

檢查這裏的信號文檔:http://django-allauth.readthedocs.io/en/latest/signals.html

相關問題