如何通过django-allauth获取用户的facebook id?

fce*_*uti 12 python django django-allauth

我想在我的模板中显示current_user的图片.当我使用django-allauth时,如何访问用户的facebook id?

pen*_*rsr 28

对于通过社交帐户注册的每个用户,可以使用SocialAccount实例.这个模型有一个外键User.请注意,用户可以将多个社交网络帐户连接到其本地帐户,因此实际上可能有多个SocialAccount实例可用.

您希望如何处理这个问题取决于项目.我可以想象有人想在本地复制个人资料图片,或者您可能想要优先考虑Facebook上方的Google+个人资料图片,依此类推.

SocialAccount模型有一些辅助方法,可让您访问帐户基础知识,例如个人资料图片.总而言之,这是访问第一张可用的个人资料图片的快捷方式:

{{user.socialaccount_set.all.0.get_avatar_url}}
Run Code Online (Sandbox Code Playgroud)

该ID也可用:

{{user.socialaccount_set.all.0.uid}}
Run Code Online (Sandbox Code Playgroud)

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