我想在我的模板中显示 current_user 的图片。使用 django-allauth 时如何访问用户的 facebook id?
问问题
6130 次
1 回答
28
对于通过社交帐户注册的每个用户,都有一个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
于 2012-09-01T09:38:13.570 回答