CuriousIT Ответов: 1

Почему мой sitemap.xml возврат страницы "django issue: relation “django_site” does not exist" when live?


Привет,

В последнее время я пытаюсь добавить карту сайта на свой сайт django. Хотя он выглядел нормально на локальном сервере, когда он вышел в эфир, он вернул следующую ошибку:

отношение "django_site" не существует строка 1: ..."django_site"."домен", "django_site"."name" от "django_si...

Я пробовал много вещей, особенно миграционные трюки, которые я видел в других местах, но это никогда не срабатывало (хотя я мог бы сделать это неправильно; я новичок в этом и не очень расслаблен). Я также получаю ту же ошибку, когда пытаюсь загрузить страницу администратора.

Для получения дополнительной информации я использую Python 3.7.5, а версия Django-2.2.5.

Вот как выглядит мой файл настроек:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.sitemaps',
'myapp',]

SITE_ID = 1

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',]


А вот еще немного информации об ошибках:

Traceback:

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

The above exception (relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
                                                             ^
) was the direct cause of the following exception:

File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sitemaps/views.py" in inner
  16.         response = func(request, *args, **kwargs)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sitemaps/views.py" in sitemap
  53.     req_site = get_current_site(request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sites/shortcuts.py" in get_current_site
  13.         return Site.objects.get_current(request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sites/models.py" in get_current
  58.             return self._get_site_by_id(site_id)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sites/models.py" in _get_site_by_id
  30.             site = self.get(pk=site_id)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in get
  402.         num = len(clone)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in __len__
  256.         self._fetch_all()

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in _fetch_all
  1242.             self._result_cache = list(self._iterable_class(self))

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in __iter__
  55.         results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1100.             cursor.execute(sql, params)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in execute
  99.             return super().execute(sql, params)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in execute
  67.         return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute_with_wrappers
  76.         return executor(sql, params, many, context)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/utils.py" in __exit__
  89.                 raise dj_exc_value.with_traceback(traceback) from exc_value

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

Exception Type: ProgrammingError at /sitemap.xml
Exception Value: relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
                                                             ^


Мой сайт-это приложение heroku, которое было развернуто с помощью команд git.

Пожалуйста, дайте мне знать, если вам понадобятся дополнительные сведения.

Заранее спасибо!

Что я уже пробовал:

Многие связанные с этим вопросы предлагали выполнить миграцию, что я и сделал. Но это не сработало.

Kris Lantz

Просто для ясности, является ли это дополнительной страницей, добавляемой на сайт, который уже работает (и работает иначе?)

CuriousIT

Да, мой сайт уже был живым, прежде чем я добавил карту сайта. Карта сайта обычно генерируется при использовании локального сервера, но по причине, которую я игнорирую, она не работает в реальном времени. Остальная часть сайта работает так, как и ожидалось.

Kris Lantz

Были ли какие-либо ошибки или уведомления о состоянии при запуске миграции?

CuriousIT

Нет, выглядит неплохо. Я повторил миграцию на всякий случай (поэтому удалил папку pycache в моей папке migrations, удалил базу данных и затем запустил новую миграцию с помощью командной строки: python manage.py мигрировать). Все вроде бы в порядке. Тем не менее я должен добавить, что моя папка миграций в основном пуста. У меня просто есть __init__.py файл и папка pycache, которая содержит только файл с именем __init__.cpython-37.pyc. Это нормально?

Fatima-Zahra Chriha

Я сталкиваюсь с той же проблемой

1 Ответов

Рейтинг:
0

CuriousIT

Комментируя "'django.contrib.sites'," в файле настроек решил проблему.