Провайдер Google не отображается в админке Django и выдает ошибку ImproperlyConfigured после настройки django-allauth
После настройки Django Allauth для аутентификации в моем Django-проекте я столкнулся с двумя проблемами:
- Опция провайдера Google не отображается в выпадающем списке при переходе к разделу "Добавить социальное приложение" в панели администратора Django.
- При попытке зайти на страницу регистрации (/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] действительно решает проблему.