我想在模板中显示current_user的图片。使用django-allauth时如何访问用户的Facebook ID?
最佳答案
对于通过社交帐户注册的每个用户,可以使用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
关于python - 如何使用django-allauth获取用户的Facebook ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12222021/