ソーシャル認証をインストールして設定した後、ちょっと遊んでいます。私はドキュメントを読んで、それを実行するためにサンプルプロジェクトを使用しました。Djangoの特定のプロバイダをテンプレートで取得するにはどうすればよいですか?
これまでは、特定のプロバイダに関する情報を取得する方法がわかりませんでした。サンプルプロジェクトではtemplatetagsは常にこの方法を使用しています。
{% for type, accounts in social_auth.associated.items %}
{% for account in accounts %}
{{account.provider}} is connected.
{% endfor %}
{% endfor %}
私は今、何をしたいのか、すべてのプロバイダを一覧表示する、誰かが(すなわち。)のFacebookに自分のアカウントを接続しているかどうかをチェックされていません。私はsocial_auth.associated.itemsは「Facebookは」その後、account.provider
のすべての値を持つリストになり(type,account)
のタプルを、含まれていることを知っている上の例から
if user==connected_to_facebook
provide some functionality
endif
:その方法は、私はこのような何かを行うことができます。
{% if "facebook" in social_auth.associated.items.accounts.provider %}
れ、明らかに、仕事に行くのではありません。私の心に来る何
はこれです。私はこれがうまくいくと思いますが、私は後に結果を返しません:
{% if "facebook" in social_auth.associated.items[1].provider %}
私はこれを行うことができますDjangoのいくつかの機能はありますか?多分私は行方不明の特別なtemplatetagですか?または、この機能はすでにsocial_authに組み込まれていて、何とかドキュメントを見逃していましたか?または、私の最悪の疑惑は、それは本当に本当に明らかなのですか?私はちょうど...
何か助けを大歓迎。確かに多くの意味がありますが、それでもどこにもつながらない
{'not_associated': {}, 'backends': {'oauth2': ['facebook']},
'associated': {'oauth2': [<UserSocialAuth:testuser>]}}
: