Я переключил отладку на 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.
Комментариев нет:
Отправить комментарий