Python Social Auth - - Django - 查找 url 姓名

Python Social Auth - - Django - find url names

因此,在 django 中使用 python 社交身份验证时,必须将登录社交按钮指向不同的 url,具体取决于社交网络。这是一个例子:

<form action="{% url 'social:begin' 'facebook' %}">
    <button type="submit" class="btn btn-primary"><span class="fa fa-facebook">&nbsp</span>Login with Facebook </button>
</form>

<form action="{% url 'social:begin' 'google-oauth2' %}">
    <button type="submit" class="btn btn-danger"><span class="fa fa-google">&nbsp</span>Login with Google</button>
</form>

如您所见,url 参数并不直观,有时它们是社交网络的名称,如 facebook,有时则更复杂,如 google-oauth2 .有什么办法可以弄清楚要传递给函数的参数吗?现在,我需要 instagram 和 twitter 的登录按钮。我在文档中找不到关于此的明确参考。

最佳,

亚历杭德罗。

我认为文档缺少对此的引用。如果有人需要找到要在 {% url %} 声明中使用的应用程序名称,可以在 social.apps.backends 下的源代码中找到 - 每个后端都是一个 python 文件,声明一个 class,每个 class 声明一个名为 name 的属性。对于 Instagram,它看起来像这样:

class InstagramOAuth2(BaseOAuth2):
    name = 'instagram'
    ....

因此,这意味着社交登录按钮应如下所示:

{% url 'social:begin' 'instagram' %}