如何在模板上使用social-auth?

时间:2013-10-07 09:46:13

标签: python django django-socialauth

我已经设置了使用Facebook的社交版,我现在可以登录,但如何将用户数据传送到模板?如何在模板上使用用户数据,例如:

头像在这里 {{user_city}}

THX!

1 个答案:

答案 0 :(得分:0)

有几种方法可以实现这一点,但是一旦安装了social_auth,用户就会与UserSocialAuth提供的social_auth模型建立关系。您必须阅读documentation如何使用Facebook graph。您可以通过Facebook dialog询问权限。

一种方式:

{{ user.social_auth.all.0 }}  # et cetera

使用templatetag和开放图表的更好方法

<img src="{{ user|social_auth:'avatar' }}" />

@register.filter
def social_auth(user, arg):
    try:
        social_user = UserSocialAuth.objects.get(user=user)
    except UserSocialAuth.DoesNotExist:
        social_user = None
    if social_user and arg == "avatar":
        return "http://graph.facebook.com/"+social_user.uid+"/picture"