Django Google Sign in ModuleNotFoundError в / auth / complete / google-oauth2 /

Я пытаюсь создать логин с помощью google в логине Django, поэтому, когда я создаю свой «Войти с помощью Google», он переходит на страницу входа в Google, но при выборе учетной записи Google он показывает ошибку,

ModuleNotFoundError at /auth/complete/google-oauth2/
No module named 'social'

Мой проект urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('', include('pages.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('auth/', include(('social_django.urls', 'social_django'), namespace='social')),
    path('admin/', admin.site.urls),
]

settings.py

import os

INSTALLED_APPS = [
    #...,
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'social_django',
    'django',
]

MIDDLEWARE = [
    #...
    #...
]

ROOT_URLCONF = 'trydjango.urls'

TEMPLATES = [
    {
        'BACKEND': '# ...',
        'DIRS': [],
        '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',  # Google login
                'social_django.context_processors.login_redirect',  # Google Login
            ],
        },
    },
]

DATABASES = {
    'default': {
        # ...
        # ...
    }
}

AUTH_PASSWORD_VALIDATORS = [
   # ....
]

AUTHENTICATION_BACKENDS = (
 'social_core.backends.open_id.OpenIdAuth',  # for Google authentication
 'social_core.backends.google.GoogleOpenId',  # for Google authentication
 'social_core.backends.google.GoogleOAuth2',  # for Google authentication
 'social_core.backends.google.GoogleOAuth',
 # 'social_core.backends.github.GithubOAuth2',  # for Github authentication
 # 'social_core.backends.facebook.FacebookOAuth2',  # for Facebook authentication

 'django.contrib.auth.backends.ModelBackend',
)

SOCIAL_AUTH_URL_NAMESPACE = 'social'

SOCIAL_AUTH_PIPELINE = (
    'social.pipeline.social_auth.social_details',
    'social.pipeline.social_auth.social_uid',
    'social.pipeline.social_auth.auth_allowed',
    'social.pipeline.social_auth.social_user',
    'social.pipeline.user.get_username',
    'social.pipeline.user.create_user',
    'social.pipeline.social_auth.associate_user',
    'social.pipeline.debug.debug',
    'social.pipeline.social_auth.load_extra_data',
    'social.pipeline.user.user_details',
    'social.pipeline.debug.debug',
)

SOCIAL_AUTH_GOOGLE_OAUTH2_IGNORE_DEFAULT_SCOPE = True
SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]
# Google+ SignIn (google-plus)
SOCIAL_AUTH_GOOGLE_PLUS_IGNORE_DEFAULT_SCOPE = True
SOCIAL_AUTH_GOOGLE_PLUS_SCOPE = [
'https://www.googleapis.com/auth/plus.login',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]


SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '*************************.....'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = '************************' 

Вот еще описание ошибки:

Версия Django: 2.1
Тип исключения: ModuleNotFoundError
Значение исключения: нет модуля с именем 'social'
Местоположение исключения: /home/barmansvaps/anaconda3/lib/python3.6/site-packages/social_core /utils.py в import_module, строка 52
Исполняемый файл Python: / home / barmansvaps / anaconda3 / bin / python3


person Barsmansvaps Friends    schedule 19.08.2018    source источник
comment
Не указывайте на social в настройке PIPELINE, используйте вместо этого social_core.   -  person omab    schedule 20.08.2018


Ответы (1)


Вы установили модуль python-social-auth? Пожалуйста, попробуйте этот код

pip install python-social-auth

Подробнее об этом можно узнать здесь.

ОБНОВЛЕНИЕ: по предложению omab. Пожалуйста, избегайте использования устаревших библиотек, которые не поддерживаются, и используйте библиотеки, которые в настоящее время обслуживаются, например social_core < / а>

person argo    schedule 19.08.2018
comment
Я полностью с тобой согласен. Я просто помог @Barsmansvaps Friends решить его проблему, а не предложил ему - person argo; 20.08.2018