【发布时间】:2012-04-04 15:38:44
【问题描述】:
在安装和设置了 social-auth 之后,我正在玩一会儿,试图掌握它的窍门。我已阅读文档,并使用示例项目来运行它。
但直到现在我还不知道如何获取某个提供商的信息。在示例项目中,模板标签总是以这种方式使用:
{% for type, accounts in social_auth.associated.items %}
{% for account in accounts %}
{{account.provider}} is connected.
{% endfor %}
{% endfor %}
我现在要做的不是列出所有提供商,而是检查是否有人将他的帐户连接到(即)facebook。这样我就可以做这样的事情:
if user==connected_to_facebook
provide some functionality
endif
从上面的示例中,我知道 social_auth.associated.items 包含 (type,account) 的元组,其中“facebook”将出现在包含 account.provider 的所有值的列表中。
我想到的是:
{% if "facebook" in social_auth.associated.items.accounts.provider %}
这显然行不通。我认为这个会起作用,但不会返回我想要的结果:
{% if "facebook" in social_auth.associated.items[1].provider %}
Django 中是否有一些我可以使用的功能?也许我缺少一些特殊的模板标签?或者这个功能是否已经内置到 social_auth 中,我不知何故错过了文档?或者,我最怀疑的是,它真的很明显吗,我只是......
非常欢迎任何帮助。
【问题讨论】: