Как исправить «ошибку сервера (500)» Heroku, вызванную установкой DEBUG в False в Django? - PullRequest
0 голосов
/ 05 января 2019

Я знаю, что этот вопрос обсуждался здесь тысячу раз, но я не мог перестать ставить его снова, так как мне было бы трудно найти причину этой проблемы и рабочее решение. Итак, моя проблема, когда я устанавливаю DEBUG=True на heroku, все работает, и если установлено значение False, выдает ошибку сервера (500). Пожалуйста, помогите мне!

Вещи, которые я пробовал и не работал:

  1. запустить collectstatic локально, а затем попытаться добавить, зафиксировать и передать Heroku, но не сработало.
  2. сделано ALLOWED_HOSTS = ["herokuapp.com"]
  3. В любом случае, когда ничего не работало, переключил базу данных с sqlite на postgres, и она работает нормально. Но почему-то ошибка все еще сохраняется!

Мой wsgi.py файл выглядит так:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "website.settings")
application = get_wsgi_application()

Герои логов я вижу:

2019-01-05T17:41:17.844144+00:00 app[web.1]: [2019-01-05 17:41:17 +0000] [10] [INFO] Booting worker with pid: 10

2019-01-05T17:41:17.857502+00:00 app[web.1]: [2019-01-05 17:41:17 +0000] [11] [INFO] Booting worker with pid: 11

2019-01-05T17:41:18.234497+00:00 app[web.1]: base dir path /app

2019-01-05T17:41:18.240629+00:00 app[web.1]: local settings failed

2019-01-05T17:41:18.357015+00:00 app[web.1]: base dir path /app

2019-01-05T17:41:18.358185+00:00 app[web.1]: local settings failed

2019-01-05T17:41:19.010564+00:00 heroku[web.1]: State changed from starting to up

2019-01-05T17:41:21.230071+00:00 app[web.1]: 10.28.83.116 - - [05/Jan/2019:17:41:21 +0000] "GET / HTTP/1.1" 500 27 "https://dashboard.heroku.com/" "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0"

2019-01-05T17:41:21.230836+00:00 heroku[router]: at=info method=GET path="/" host=obscure-dusk-29347.herokuapp.com request_id=b5fb4554-fa37-4e39-b710-fae1ac8c6651 fwd="103.208.75.78" dyno=web.1 connect=1ms service=184ms status=500 bytes=234 protocol=https

2019-01-05T17:41:21.670528+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=obscure-dusk-29347.herokuapp.com request_id=0d271d43-17a0-4b37-aff1-51767d192d35 fwd="103.208.75.78" dyno=web.1 connect=1ms service=20ms status=404 bytes=266 protocol=https

1 Ответ

0 голосов
/ 06 января 2019

Наконец-то я это сделал!

Переменная DEBUG в моем settings.py была похожа на DEBUG = config('DEBUG', default=False, cast=bool). Поэтому я просто изменил его на DEBUG = config('DEBUG'), и оно сработало.

...