我在我的项目中使用python-social-auth。成功建立帐户。我如何获得Steam用户头像并将其保存在数据库中?
我正在尝试使用像这样的管道
def get_avatar(backend, strategy, details, response,
user=None, *args, **kwargs):
url = None
if backend.name == 'steam':
url = response['avatarfull']
if url:
user.avatar = url
user.save()
错误 - ' SuccessResponse'对象没有属性' avatarfull'
答案 0 :(得分:2)
查看code,此信息存储在player
dict内的details
密钥中。
我不确定你的get_avatar
函数的参数来自哪里,但假设它是python-social-auth提供的用户详细信息,那么你可以像这样访问头像:
def get_avatar(backend, strategy, details, response, user=None, *args, **kwargs):
if backend.name == 'steam':
url = details['player']['avatarfull']
if url:
user.avatar = url
user.save()
您可能还需要确保以下方法属于SOCIAL_AUTH_PIPELINE
:
'social.pipeline.social_auth.social_details',