【发布时间】:2013-04-04 01:51:44
【问题描述】:
我已成功使用django-socialauth 将帐户(在本例中为 Instagram 帐户)与现有用户帐户相关联。我还设置了管道以收集其他用户详细信息:
def update_social_auth(backend, details, response, social_user, uid, user,
*args, **kwargs):
if getattr(backend, 'name', None) in ('instagram', 'tumblr'):
social_user.extra_data['username'] = details.get('username')
social_user.save()
这在首次关联帐户时非常有用。但是,如果帐户已经关联,username 字段将不会出现在 extra_data 中。
如何在建立关联后更新用户的extra_data? 有没有办法使用django-socialauth 来做到这一点,而无需断开连接并重新连接,或使用帐户(例如 Instagram 的) API?
如果有帮助,这是我目前的管道:
SOCIAL_AUTH_PIPELINE = (
'social_auth.backends.pipeline.social.social_auth_user',
'social_auth.backends.pipeline.social.associate_user',
'social_auth.backends.pipeline.social.load_extra_data',
'social_auth.backends.pipeline.user.update_user_details',
'apps.utils.social.utils.update_social_auth'
)
【问题讨论】:
标签: python django django-socialauth django-1.4