我有下面的代码,它在django 1.4中工作得很好,因为我升级了代码中的所有内容,因为信号根本没有被触发,所以仍然可以正常接受。
以前,当我使用1.4时,我使用用户配置文件来维护用户信息,但是当升级时,我使用自定义用户模型,它在一个表中包含所有详细信息。我不认为这是相关的,因为当我测试社会真实性时,它都工作得很好,接受这一部分。
def twitter_extra_values(sender, user, response, details, **kwargs):
"""
accounts - twitter_extra_values - signal
"""
try:
TwitterExtra.objects.get_or_create(
user = user,
screen_name = response.get('screen_name')
)
except IntegrityError:
TwitterExtra.objects.get(
user = user,
screen_name = response.get('screen_name')
).delete()
# recursively attempt to recreate the record
twitter_extra_values(sender, user, response, details, **kwargs)
return True
pre_update.connect(twitter_extra_values, sender=TwitterBackend, dispatch_uid="accounts.twitter_extra_values")
您可能也升级了django-social-auth。
不推荐使用信号:http://django-social-auth.readthedocs.org/en/latest/deprecated.html
下面是使用管道步骤设置facebook头像的例子:http://tryolabs.com/Blog/2012/02/13/get-user-data-using-django-social-auth/