Ошибка django-allauth SITE_ID

Я изучаю django и решил использовать django-allauth для регистрации пользователя. В настоящее время я хочу только локальные учетные записи (я исключил социальную аутентификацию из settings.py).

Когда я получаю доступ к /accounts/login, я получаю следующую ошибку:

Вы используете фреймворк сайтов Django, не устанавливая SITE_ID. Создайте сайт в своей базе данных и установите SITE_ID чтобы исправить эту ошибку.

Официальные документы Django говорят:

Идентификатор, как целое, текущего сайта в базе данных django_site Таблица. Это используется, чтобы данные приложения могли подключаться к конкретным сайты и одна база данных могут управлять контентом для нескольких сайтов.

Но я не совсем понимаю это. Сейчас я просто запускаю django в среде разработки, и, как правило, просто python manage.py runserver запускает все, и я могу проверить свое приложение.

Как исправить эту проблему SITE_ID с помощью локальных учетных записей? Будет ли решение отличаться в среде производства/разработки?

Ответы

Ответ 1

Добавление "SITE_ID = 1" к вашим настройкам приведет вас к исключению не добавляя его в INSTALLED_APPS. Это сработало для меня.

Ответ 2

FYI. Внесение изменений в инфраструктуру сайтов было изменено в Django v1.6. Подробнее см. Здесь... https://docs.djangoproject.com/en/1.6/ref/contrib/sites/

После добавления 'django.contrib.sites' к вашему INSTALLED_APPS тогда домен будет создан в базе данных, id = 1, domain = example.com, name = example.com.