Python Social Auth - 如何知道社交媒体连接是否成功?

Python Social Auth - How to know if social media connect is successful?

我已经安装了 Python Social Auth。我用它来关联用户站点帐户和他的社交媒体帐户。

Facebook 连接 link 是:

<a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}">Connect</a>

重定向有效,但如何知道社交媒体关联是否成功?

如果异常被捕获,我可以显示get_messages()函数。这是完美的! 但是任何 return 如果成功的话。

我曾尝试自定义管道,但无法访问 request 变量来设置消息:messages.success(request, "Successful message!')

有一个选项

SOCIAL_AUTH_LOGIN_ERROR_URL = '/error/'

在 python 社交身份验证设置中重定向到您在上述设置中提到的 url。 这样您就可以知道连接是否成功。 希望这对您有所帮助。

您可以在自定义管道中访问 request

The pipeline functions will get quite a lot of arguments, ranging from the backend in use, different model instances, server requests and provider responses.

您可以阅读更多相关信息 here

您可以像这样访问 request 对象:

def custom_pipeline(strategy, *args, *kwargs):
    request = strategy.request

然后用 messages 做任何你想做的事。