Django allauth& facebook:应用程序配置不允许使用URL

时间:2014-02-06 10:08:21

标签: python django facebook django-allauth

我成功地从The missing django-allauth tutorial运行示例以登录facebook,但是现在当我尝试从头开始安装django-allauth时出现此错误:

 Given URL is not allowed by the Application configuration

在Facebook中,我的网站网址设置为http://127.0.0.1:8000/,这适用于示例,但不适用于我的应用。 错误来自哪里?


我也不了解Django管理中的“站点”字段:主页> Socialaccount>社交应用程序> AppName。它默认设置为example.com,我不知道在这里设置什么,虽然它可以与example.com一起使用,但是这个例子...


仅供参考,以下是该示例的主要urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns(
    '',
    # prevent the extra are-you-sure-you-want-to-logout step on logout
    (r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}),

    url(r'^', include('larb.urls')),
    url(r'^accounts/', include('allauth.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

和urls.py for larb:

from django.conf.urls import patterns, url

from larb import views

urlpatterns = patterns('',
     url(r'^$', views.index, name='index')
)

和我独特的主要urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.views.generic.base import TemplateView
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from Romanesco import settings

admin.autodiscover()

urlpatterns = patterns('',

    url(r'^$', 'draw.views.index'),
    url(r'^accounts/', include('allauth.urls')),
    url(r'^admin/', include(admin.site.urls)),

) 

我注意到了一个区别,在facebook按钮链接到href="/accounts/facebook/login/"的示例中;而在默认登录页面中(当它失败时)它是href="javascript:allauth.facebook.login('', 'authenticate', 'login')"

如果我手动转到http://127.0.0.1:8000/accounts/facebook/login/,它就可以了!

2 个答案:

答案 0 :(得分:4)

在浏览器中,将http://127.0.0.1:8000/更改为localhost:8000/

那应该解决问题。

仍在平台网站下,将网站网址更改为http://localhost:8000/

答案 1 :(得分:3)

在Facebook应用程序的参数(https://developers.facebook.com/x/apps/.../settings/advanced/)中,请务必添加平台网站并添加网址:http://127.0.0.1:8000/ 在高级(仍然在参数上)之后加上“嵌入式浏览器OAuth登录”和“客户端OAuth登录”!

修改

好的,所以你需要在管理站点中添加http://127.0.0.1:8000,然后在每个社交应用程序上添加并在站点字段中添加localhost而不是示例。