テンプレートにcurrent_userの画像を表示したい。django-allauthを使用しているときにユーザーのFacebookIDにアクセスするにはどうすればよいですか?
6130 次
1 に答える
28
ソーシャルアカウントを介してサインアップしたユーザーごとに、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
于 2012-09-01T09:38:13.570 に答える