Почему мой 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
Я сталкиваюсь с той же проблемой