django-allauth:从视图中访问"socialaccount_set.all"



从这篇文章中:如何使用Django-Allauth获得用户的Facebook ID?有一种简单的方法可以在模板中从用户的社交帐户访问额外信息(例如,查看{{user.socialaccount_set.all.0.extra_data}}的条目)。

我想在视图中获取这些信息,而不是模板,理想地遍及所有连接的社交帐户,并从每个社交帐户中获取更理想的信息,然后仅将这些信息传递给模板。

有人知道如何从视图中访问SocialAccount_Set.sem?

我知道自这个问题发布以来已经一年多了,但是我找不到任何答案。

这是我最后做的,以防将来对任何人有所帮助:

#views.py
user.socialaccount_set.all()[0].extra_data

这是在视图中访问用户存储的任何信息的替代方法:

from allauth.socialaccount.models import SocialAccount
social_info = SocialAccount.objects.filter(user=request.user)
fb_id = SocialAccount.objects.filter(user=request.user, provider='facebook')[0].uid

继续上述答案,也许您可以尝试使用:

SocialAccount.objects.filter(user=request.user)[0].extra_data['email']

它将获得电子邮件帐户的额外数据。希望这个有帮助:)

最新更新