Провайдер Google не отображается в админке Django и выдает ошибку ImproperlyConfigured после настройки django-allauth

После настройки Django Allauth для аутентификации в моем Django-проекте я столкнулся с двумя проблемами:

  1. Опция провайдера Google не отображается в выпадающем списке при переходе к разделу "Добавить социальное приложение" в панели администратора Django.
  2. При попытке зайти на страницу регистрации (/enrolled/sign-in/), я получаю ошибку "ImproperlyConfigured" с сообщением "unknown provider: google".

Я следовал инструкциям по настройке, приведенным в Django Allauth документации, и добавил необходимую конфигурацию для провайдера Google в файл настроек. Несмотря на это, я столкнулся с этими проблемами.

Вот мой settings.py файл:

В админке Django я не могу увидеть Google в выпадающем списке провайдеров. Во многих видеороликах на YouTube показано, что название провайдера отображается так, как вы выбрали его в INSTALLED_APPS. Django Admin

Теперь, это мой шаблон django:

    {% extends 'base.html' %}
    {% load static %}
    {% load socialaccount %}
    
    {% block extra_head %}
        <link rel="preload" href="{% static 'order/css/sign-in-form.css' %}" as="style">
        <link rel="stylesheet" href="{% static 'order/css/sign-in-form.css' %}">
    {% endblock %}
    
    {% block dynamic_content %}
        <div class="button-container">
            <a href="{% provider_login_url 'google' %}" class="login-button">
                <i class="fa-google fa-brands fa-xl"></i>
            </a>
        </div>
    {% endblock %}

Я получаю эту ошибку:неизвестный провайдер: google Ошибка неизвестного провайдера

И эта ошибка указывает на эту строку:

<a href="{% provider_login_url 'google' %}" class="login-button">

Ваша помощь будет высоко оценена, спасибо!

Я тоже очень серьезно боролся с этой проблемой и наконец нашел решение.

pip install django-allauth[socialaccount]

Поскольку в моем наследии используется pipenv, следующее сработало:

pipenv install "django-allauth[socialaccount]"

для zsh добавьте двойные кавычки: pip install "django-allauth[socialaccount]"

Ответ Класбину решил мою проблему. Установка django-allauth[socialaccount] действительно решает проблему.

Вернуться на верх