【发布时间】:2012-08-26 15:58:35
【问题描述】:
我想在我的模板中显示 current_user 的图片。使用 django-allauth 时如何访问用户的 facebook id?
【问题讨论】:
标签: python django django-allauth
我想在我的模板中显示 current_user 的图片。使用 django-allauth 时如何访问用户的 facebook id?
【问题讨论】:
标签: python django django-allauth
对于通过社交帐户注册的每个用户,都有一个 SocialAccount 实例可用。这个模型有一个指向User 的外键。请注意,用户可以将多个社交网络帐户连接到他的本地帐户,因此实际上可能有多个SocialAccount 实例可用。
您要如何处理这取决于项目。我可以想象有人想要在本地复制个人资料图片,或者您可能希望优先选择 Facebook 上方的 Google+ 个人资料图片,等等。
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
【讨论】: