GOOGLE ADS

среда, 27 апреля 2022 г.

Ошибка сервера (500) Развертывание Django на героку

Я переключил отладку на False в файле settings.py (обратите внимание, что до того, как я переключил его на false, все работало отлично), и когда я запустил git push heroku masterи зашел на свой веб-сайт, домашняя страница работала, но это не так для всех моих страниц: на некоторых я получил сообщение об ошибкеServer Error (500)

Вот мой settings.pyкод:

DEBUG = False
ALLOWED_HOSTS = ["hacka-labs.herokuapp.com"]

Я заметил, что URL-адреса, по которым я передаю идентификатор, не работают.

Пожалуйста, помогите мне, если вы знаете ответ


Решение проблемы

У меня была похожая проблема, и мне трудно понять, когда для DEBUG установлено значение False. Когда я перенастроил его обратно, DEBUG = Trueвсе снова заработало нормально. Итак, проблема была

Обычно вы не видите эту ошибку в разработке DEBUG = True, потому что когда ManifestStaticFilesStorage переключается на нехешированные URL-адреса.
https://stackoverflow.com/a/51060143/7986808

Решение проблемы в вашем случае может отличаться от моего. Но вы можете найти проблему, изменив метод ведения журнала вашего проекта Django, чтобы вы могли видеть больше информации в командной строке при работе heroku logs -t -a <heroku-app>даже в DEBUG = Falseрежиме.

Измените настройки ведения журнала django settings.pyследующим образом:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': ('%(asctime)s [%(process)d] [%(levelname)s] '
'pathname=%(pathname)s lineno=%(lineno)s '
'funcname=%(funcName)s %(message)s'),
'datefmt': '%Y-%m-%d %H:%M:%S'
},
'simple': {
'format': '%(levelname)s %(message)s'
}
},
'handlers': {
'null': {
'level': 'DEBUG',
'class': 'logging.NullHandler',
},
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'django': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
'django.request': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
}
}

Затем запустите heroku logs -t -a <heroku-app>и откройте URL-адрес, по которому вы ранее получили ошибку 500, вы обнаружите проблему в журналах. Надеюсь, что это поможет вам.

В случае отсутствия некоторых статических файлов просто переключите свой статический корень settings.py, как показано ниже STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles'). Запуск heroku run python manage.py collectstatic -a <heroku-app>создает каталог staticfiles.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...