Загрузка тега provider_login_url на моей странице входа в систему

Я пытаюсь настроить all-auth в моем проекте django и после нажатия на кнопку входа в систему я настроил все в бэкенде

Я получаю следующую ошибку в строке 95

TypeError at /accounts/login/
string indices must be integers


95          <a class="google-btn" href="{% provider_login_url 'google' %}>


Я загрузил

{% load socialaccount %}

и вот эта кнопка:

  <a class="google-btn" href="{% provider_login_url 'google' %}>
    Log in with Google
  </a>

в settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Fashion',
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google'

]

Попробовал загрузить тег на другой странице, та же ошибка

Похоже, что в коде вашего шаблона для кнопки входа в Google допущена синтаксическая ошибка. В атрибуте href тега якоря отсутствует закрывающая кавычка. Вот исправленный код:

<a class="google-btn" href="{% provider_login_url 'google' %}">
    Log in with Google
</a>

Дополнительно убедитесь, что вы правильно настроили параметры и URL-адреса для allauth. Вот несколько моментов, которые необходимо проверить.

  1. Убедитесь, что параметры INSTALLED_APPS и SOCIALACCOUNT_PROVIDERS правильно настроены.
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Fashion',
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google',
]

SITE_ID = 1

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
    'allauth.account.auth_backends.AuthenticationBackend',
)

LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'

SOCIALACCOUNT_PROVIDERS = {
    'google': {
        'SCOPE': [
            'profile',
            'email',
        ],
        'AUTH_PARAMS': {
            'access_type': 'online',
        }
    }
}
  1. Убедитесь, что вы запустили миграции для приложения allauth.
python manage.py migrate
  1. Убедитесь, что вы включили URL-адреса allauth в urls.py.
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('allauth.urls')),
]

Иногда изменения требуют перезапуска сервера. Убедитесь, что вы перезапустили свой сервер разработки Django.

python manage.py runserver
Вернуться на верх