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"> </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"> </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' %}
因此,在 django 中使用 python 社交身份验证时,必须将登录社交按钮指向不同的 url,具体取决于社交网络。这是一个例子:
<form action="{% url 'social:begin' 'facebook' %}">
<button type="submit" class="btn btn-primary"><span class="fa fa-facebook"> </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"> </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' %}