如何使用django-allauth获取用户的Facebook ID?

13

我想在模板中显示当前用户的图片。当我使用django-allauth时,如何访问用户的Facebook ID?

1个回答

28

每个通过社交账户注册的用户都有一个SocialAccount实例可用。该模型具有对User的外键引用。请注意,用户可以将多个社交网络账户连接到其本地账户,因此实际上可能会有多个SocialAccount实例可用。

如何处理这个问题取决于项目。我可以想象,有人希望在本地复制个人资料图片,或者您可能希望优先使用Google+个人资料图片而不是Facebook的,等等。

SocialAccount模型具有一些辅助方法,可让您访问基本账户信息,例如个人资料图片。总的来说,这是一种快速且简单的方法来访问第一个可用的个人资料图片:

{{user.socialaccount_set.all.0.get_avatar_url}}

这个ID也是可用的:

{{user.socialaccount_set.all.0.uid}}

参见: https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/models.py#L72


能否获取Linkedin的职业头衔和Twitter个人简介信息? - thchand

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接