Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正努力使;使用facebook登录;使用Django。获取错误_Django_Facebook_Oauth - Fatal编程技术网

我正努力使;使用facebook登录;使用Django。获取错误

我正努力使;使用facebook登录;使用Django。获取错误,django,facebook,oauth,Django,Facebook,Oauth,使用facebook登录项目。但它显示出错误 我的本地主机url--127.0.0.1:8000/demo/index/ 我的代码是这样的 设置.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages',

使用facebook登录项目。但它显示出错误

我的本地主机url--127.0.0.1:8000/demo/index/

我的代码是这样的

设置.py

INSTALLED_APPS = [

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'social_django',
    'dashboard'
]


MIDDLEWARE = [

    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'social_django.middleware.SocialAuthExceptionMiddleware',
]


TEMPLATES = [

    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(os.path.join(BASE_DIR), 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'social_django.context_processors.backends',  # <--
                'social_django.context_processors.login_redirect',
            ],
        },
    },
]


AUTHENTICATION_BACKENDS = (

    'social_core.backends.facebook.FacebookOAuth2',
    'social_core.backends.google.GoogleOAuth2',
    'django.contrib.auth.backends.ModelBackend',
)


STATIC_URL = '/static/'

LOGIN_URL = '/demo/login/'

LOGIN_REDIRECT_URL = '/'

SOCIAL_AUTH_FACEBOOK_KEY = '184354188769721'
SOCIAL_AUTH_FACEBOOK_SECRET = 'c4d9ed712a59be2f9bb25b5368432f61'

LOGIN_URL = '/demo/login/'

LOGIN_REDIRECT_URL = '/'
url(r'^facebook/', include('social_django.urls', namespace='social')),
index.html

<a href="{% url 'social:begin' 'facebook' %}">Login with Facebook</a>

我创建了facebook API并设置了

域-空

站点url-空

在facebook登录(插件)

有效的OAuth重定向URI-

让解决方案wy在登录时显示此错误。


URL已阻止:此重定向失败,因为重定向URI未在应用程序的客户端OAuth设置中列出。确保客户端和Web OAuth登录已打开,并将所有应用程序域添加为有效的OAuth重定向URI。

您必须在Facebook应用程序设置中设置应用程序域

  • 转到中的应用程序设置页面

  • 单击左上角(应用程序名称旁边)的下拉箭头,然后单击“创建测试应用程序”并为其命名

  • 在新测试应用程序的Settings>Basic中,将应用程序域设置为“localhost”

  • 查看此链接以了解更多信息-

    对于Oauth URL转发-尝试只输入域名

    我得到了答案。。。 我首先使用此命令更改了域名(27.0.0.1:8000 www.example.com)

    sudo-i gedit/etc/hosts

    然后在setting.py中编辑

    允许的\u主机=[“www.example.com”]

    转到中的应用程序设置页面

    添加站点url


    域名example.com

    我创建了测试应用程序。我仍然收到此错误,“无法加载URL:此URL的域未包含在应用程序的域中。若要加载此URL,请将应用程序的所有域和子域添加到应用程序设置中的“应用程序域”字段中”您能告诉我,我必须将测试应用程序和主应用程序-应用程序ID和密钥添加到setting.py,或者仅添加主应用程序ID和密钥您是否注册了域,在应用程序域类型localhostYa下,我这样做了。我在app main和test app中都添加了域作为localhosttry,端口号为localhost:8000Its,在我编写localhost:8000时,它会自动占用localhost