2016-08-04 73 views
0

因此,在使用python社交身份验证与Django时,必须将登录社交按钮指向不同的URL,具体取决于社交网络。这是一个例子:Python Social Auth - - Django - 查找网址名称

<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复杂。有没有一种方法可以找出传入de函数的参数?现在,我需要Instagram和Twitter的登录按钮。我在文档中找不到关于此的明确参考。

最好,

亚历杭德罗。

回答

0

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

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

所以,这意味着社会的登录按钮应该是这个样子:

{% url 'social:begin' 'instagram' %} 
相关问题