Ответ 1
Добавление "SITE_ID = 1" к вашим настройкам приведет вас к исключению не добавляя его в INSTALLED_APPS. Это сработало для меня.
Я изучаю django и решил использовать django-allauth для регистрации пользователя. В настоящее время я хочу только локальные учетные записи (я исключил социальную аутентификацию из settings.py).
Когда я получаю доступ к /accounts/login
, я получаю следующую ошибку:
Вы используете фреймворк сайтов Django, не устанавливая SITE_ID. Создайте сайт в своей базе данных и установите SITE_ID чтобы исправить эту ошибку.
Официальные документы Django говорят:
Идентификатор, как целое, текущего сайта в базе данных django_site Таблица. Это используется, чтобы данные приложения могли подключаться к конкретным сайты и одна база данных могут управлять контентом для нескольких сайтов.
Но я не совсем понимаю это. Сейчас я просто запускаю django в среде разработки, и, как правило, просто python manage.py runserver
запускает все, и я могу проверить свое приложение.
Как исправить эту проблему SITE_ID
с помощью локальных учетных записей? Будет ли решение отличаться в среде производства/разработки?
Добавление "SITE_ID = 1" к вашим настройкам приведет вас к исключению не добавляя его в INSTALLED_APPS. Это сработало для меня.
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.