Отсутствие выпадающего списка поставщиков элементов при добавлении социального приложения в админку django
Django Admin PanelЯ сейчас изучаю веб-разработку на django и при попытке добавить соиальную аутентификацию в мой проект с помощью django-allauth я столкнулся с ошибкой, говорящей о недопустимой конфигурации после загрузки тега social account и создания ссылки с тегом provider login url, я подумал, что это потому что я еще не добавил социальные приложения в django admin, поэтому я попробовал это, я перешел к сайтам и добавил 127. 0.0.1:8000 в качестве ссылки с именем google, но когда я попытался добавить социальное приложение, в выпадающем меню не было пункта, где я обычно должен выбрать провайдера, хотя я добавил allauth.socialaccount.providers для google, faceboook и microsoft
my settingss.py-->
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
#Third-Party
'allauth',
'allauth.account',
"allauth.socialaccount",
"allauth.socialaccount.providers.google",
'allauth.socialaccount.providers.microsoft',
'allauth.socialaccount.providers.facebook',
]
SOCIALACCOUNT_PROVIDERS = {
'google': {
'EMAIL_AUTHENTICATION': True,
'SCOPE': [
'profile',
'email',
],
'AUTH_PARAMS': {
'access_type': 'online',
},
'OAUTH_PKCE_ENABLED': True,
}
}
LOGIN_REDIRECT_URL = 'home'
ACCOUNT_LOGOUT_REDIRECT = 'home'
#allauth config
SITE_ID = 1
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_EMAIL_VERIFICATION = "none"
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
urls.py -->
urlpatterns = [
#admin
path('admin/', admin.site.urls),
#User management
path('accounts/', include('allauth.urls')),
path('accounts/', include('allauth.socialaccount.urls')),
]
login.html -->
{% extends 'base.html' %}
{% load account %}
{% load static %}
{% block title %}Log In{% endblock title %}
{% block content %}
<div class="wrapper">
<div>
<img class="auth-image" src="{% static "images/AuthImg.jpg" %}">
</div>
<div id="auth-form-box">
<div id="log-in">
<h2>Log In</h2>
</div>
<div id="form-field">
<form class='form' method="post">
{% csrf_token %}
<div class="field">
<h1>Email address</h1>
<div class='input'>
{{ form.login }}
</div>
</div>
<div class="field">
<h1>Password</h1>
<div class='input'>
{{ form.password }}
</div>
</div>
<div class="remember-tick">
{{ form.remember }}
<label for="remember" class="">remember me</label>
</div>
<button class="btn-submit" type="submit">Log In</button>
</form>
{% load socialaccount %}
<a href="{% provider_login_url 'google' %}">Sign up with Google</a>
</div>
<h1 class="dont-have">Don't have an account? sign in <a href="{% url "account_signup" %}">here</a></h1>
</div>
</div>
Я попробовал добавить идентификатор клиента и секретный ключ в саму кодовую базу, но это не решило проблему, и я по-прежнему получал ошибку invalid configuration error unknown provider 'google' Raised during: allauth.account.views.LoginView
У меня была похожая проблема. Я понизил версию allauth до 0.61.1, и теперь в меню появился "Google".
pip install django-allauth==0.61.1
Я заметил, что в версии 0.63.2, если я использовал Github в качестве провайдера, добавив "allauth.socialaccount.providers.github" в INSTALLED_APPS, то "Github" появлялся в меню, так что я думаю, что эта проблема связана именно с провайдером Google.