上周这个还能用。可能是我在其他地方搞错了什么,或者这是个bug,或者这只是一个更新,我在读文档的时候没注意到。
我有一个流水线,可以获取用户头像并保存URL:
def get_avatar(strategy, details, response, user, *args, **kwargs):
url = None
if strategy.backend.name == 'facebook':
url = 'http://graph.facebook.com/{0}/picture'.format(response['id'])
elif strategy.backend.name == "twitter":
if response['profile_image_url'] != '':
url = response['profile_image_url']
elif strategy.backend.name == "google-oauth2":
if response['image'].get('url') is not None:
url = response['image'].get('url')
以前它是可以工作的,现在出现了错误:
'DjangoStrategy' object has no attribute 'backend'
请帮忙,一些测试用户已经在使用我的网站,但是他们暂时没有个人资料图片。
python-social-auth
到0.2.2
版本了吗?如果是这样的话,那么你需要更新你的pipeline。只需删除strategy.backend
使用,并添加一个backend
参数到函数中并使用它。 - omabpip-review --auto
命令来更新所有的包。无论如何,我使用kwargs['backend'].redirect_uri
并检查后端名称解决了这个问题。我不确定这是否是最好的方法,但它起作用了。 - Alejandro Veintimillabackend
参数是在版本0.2.0
中添加的。 - omab