0

我只使用 django 几个月,现在我正在修改另一个开发人员制作的 django 代码库。

我正在尝试找到一种方法来有效地跟踪 Google Analytics 中的 facebook 注册和登录,我想到的一种方法是向用户通过 facebook 连接后重定向的 url 添加一个参数。

目前我们正在使用这样的“下一个”参数:

<a href="{% url socialauth_begin 'facebook' %}?next={{ request.path }}">

我希望能够覆盖下一个参数以添加:

{{request.path}}?new_facebook_user

或者

{{request.path}}?facebook_login

如果用户已经注册。

您认为这样做的最佳地点在哪里?你认为这是在谷歌分析中跟踪 fb 登录和新用户的有效方法吗?

4

2 回答 2

1

这种方法行不通,至少当您创建该链接时,您将无法确定该用户是否是新用户。该应用程序提供了SOCIAL_AUTH_NEW_USER_REDIRECT_URL定义一个不同的 URL 的设置来重定向新创建的帐户。此设置优先于?next=参数,因此如果定义它将丢失。

于 2012-06-30T21:15:03.310 回答
0

您需要在管道中使用这样的方法:

def modify_next(backend, is_new=True, *args, **kwargs):
    if backend.name == "facebook":
        next = backend.strategy.session_get("next")
        if is_new:
            backend.strategy.session_set("next", "{}?new_facebook_user".format(next))
        else:
            backend.strategy.session_set("next", "{}?facebook_login".format(next))

因此,您将修改默认的下一个行为。

于 2015-10-09T11:41:17.177 回答