Почему Heroku принудительно запускает dev.py в Wagtail? - PullRequest
1 голос
/ 30 сентября 2019

Я развернул свое приложение Wagtail на Heroku и хочу, чтобы переменная 'DEBUG' была False при производстве. Я написал некоторый код в файле init .py, который проверяет переменную среды 'ENV', чтобы решить, какой файл Python выполнять. В производстве он должен выполнять только production.py, но это не так. Код на самом деле работает, потому что он не печатает мое сообщение отладки в случае, если я нахожусь в среде разработки, но каким-то образом dev.py выполняется после production.py

Я попытался удалить переменную 'DEBUG'из обоих файлов (production.py и dev.py), чтобы поместить их в init .py и определить его значение в соответствии с окружением. Это работает, DEBUG становится False в работе, но кажется, что мои статические файлы больше не загружаются.

#__init__.py
import os

ENV = os.getenv('GLITCHYWARE_ENV', 'dev')

if ENV == 'dev':
    print('DEV')
    from .dev import *
elif ENV == 'prod':
    print('PROD')
    from .production import *

Журнал:

$ python manage.py collectstatic --noinput           
PROD  
The production.py code is executed
The dev.py code is executed #1

Как видите, dev.pyвыполняется после production.py, а не шесть раз, я просто помещаю много операторов print.

1 Ответ

0 голосов
/ 10 октября 2019

Некоторое время я не использовал Heroku, но помню, что использовал git push origin heroku.

Почему бы просто не поместить dev.py в ваш файл .gitignore в корне вашего проекта. Это предотвратит загрузку в первую очередь, и вы все равно можете использовать его локально. Затем вы можете разместить переменные DEBUG такими, какими они были изначально.

...