2017-10-10 14 views
0

Django-AllAuthを使用してプロフィール画像と投稿にアクセスしようとしています。ここで私はプロフィール画像をロードしようとしているテンプレートは次のとおりです。ここでアプリケーションはDjangoAllAuthを使用してプロフィール画像と投稿にアクセスできません

<html> 


<body> 

Welcome back {{ user.first_name }} {{ user.age }} 
<img src={{user.cover.source}} height="60" width="60"> 

<a href="/">Home</a> 
</body> 


</html> 

は、ここで私が得ていないのですview.py

def fb_personality_traits(request): 
    # logger.debug('FB Page Loaded') 
    return render(request, 'home/facebook_personality_traits.html') 

Settings.py

SITE_ID = 1 

LOGIN_REDIRECT_URL = '/facebook_personality_traits/' 
SOCIALACCOUNT_QUERY_EMAIL = True 
SOCIALACCOUNT_PROVIDERS = { 
    'facebook': { 
     'SCOPE': ['email', 'user_posts', 'public_profile', 'user_photos'], 
     # 'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 
     'METHOD': 'js_sdk', 
     'FIELDS': [ 
      'id', 
      'email', 
      'name', 
      'first_name', 
      'last_name', 
      'cover', 
      'posts', 
      'age', 
     ], 
     'EXCHANGE_TOKEN': True, 
     'VERIFIED_EMAIL': True, 
     'VERSION': 'v2.10', 
    } 
} 
ACCOUNT_LOGOUT_ON_GET = True 

です画像。私が達成したい何

current image

:以下の結果を参照してください?

1)プロフィール画像を画面に表示したい。

2)ログインしたユーザーの投稿をview.pyに入れて、画面に表示してテンプレートに表示したいとします。

+0

すべてのUIコンソールログ? –

+0

ログには何もありません。 –

答えて

0

ageおよびcoverのような必須ではないフィールドは、django-allauthによって永続化されません。一般的なフィールドは、Userモデルで自動的に保持されます(see fields)。データをキャプチャし、データベースのようなどこかに格納することで、これを自分で処理する必要があります。これらのフィールドは、ログイン後のレスポンス(see example method)でのみ取得およびアクセスできます。extra_dataディクショナリにあります。

ログインしてこの値をデータベースに保存した後、SocialAccountインスタンス(この場合はFacebook)にget_avatar_urlと電話することをおすすめします。 Facebookの場合、ユーザーのアバターURLは時間とともに変化してはなりません。

関連する問題