0

我有下面的代码,它在 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")
4

1 回答 1

0

您可能也升级了 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/

于 2013-04-17T08:11:08.577 回答