Django: запрос соответствия SocialApp не существует

Я столкнулся с проблемой в django-allauth.

Я настроил localhost:9000/admin/ со следующими сведениями

socialapp.

Поставщик: Имя: ID клиента: Идентификатор приложения или ключ пользователя Ключ: Секрет: и т.д.

Я установил SITE_ID = 2 (потому что я изменил сайт example.com по умолчанию на localhost: 9000)

In setting.py


   INSTALLED_APPS = (
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'django.contrib.admin',
        'uni_form',
        'allauth',
        'allauth.account',
        'allauth.socialaccount',
        'bootstrapform',
        # 'allauth.socialaccount.providers.twitter',
        # 'allauth.socialaccount.providers.openid',
         'allauth.socialaccount.providers.facebook',
    )
    SOCIALACCOUNT_PROVIDERS = \
        { 'facebook':
            { 'SCOPE': ['email', 'publish_stream'],
              'AUTH_PARAMS': { 'auth_type': 'reauthenticate' },
              'METHOD': 'oauth2' ,
              'LOCALE_FUNC': 'path.to.callable'} }

Теперь, когда я нахожу url http://localhost:9000/accounts/facebook/login

Я получаю сообщение об ошибке: SocialApp matching query does not exist.

Пожалуйста, помогите мне, что я могу сделать здесь неправильно.

Ответ 1

Используя администратор Django, вам нужно создать SocialApp, в котором перечислены ваши учетные данные приложения Facebook. Убедитесь, что это приложение прикреплено к соответствующему сайту (например, django.contrib.sites.models.Site).

В вашем случае должен быть экземпляр django.contrib.sites.models.Site с id = 2 (проверьте администратор сайтов), который указан как сайт для SocialApp.

Если отсутствует либо SocialApp, либо создается, но не привязано к сайту, соответствующему вашему settings.SITE_ID, тогда allauth не знает, какое приложение выбрать, в результате появляется сообщение об ошибке, указанное выше.