我成功运行了 The missing django-allauth tutorial 中的示例使用 facebook 登录,但现在当我尝试从头开始安装 django-allauth 时出现此错误:
Given URL is not allowed by the Application configuration
在 facebook 中,我的站点 URL 设置为 http://127.0.0.1:8000/
,这适用于示例但不适用于我的应用程序。
错误来自哪里?
我也不明白 Django 管理中的“站点”字段:主页 › 社交帐户 › 社交应用程序 › 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)),
)
和 larb 的 urls.py:
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/
就可以了!
最佳答案
在您的浏览器中,将 http://127.0.0.1:8000/
更改为 localhost:8000/
这应该可以解决问题。
还是在platform website下,修改site URL为http://localhost:8000/
关于python - Django allauth 和 facebook : Given URL is not allowed by the Application configuration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21599699/