У меня есть глобальный флаг в одном из своих модулей, config/top.py
:Переключения между производством и развитием
RUNNING_MODE = "production" # could also be "development", set manually
В зависимости от этого флага, я хотел бы включить некоторые параметры производства/развития. Например, в production.py
я хочу иметь:
LOG_LEVEL = "WARNING"
И в development.py
:
LOG_LEVEL = "INFO"
(есть гораздо больше настроек, которые будут установлены)
Цель состоит в том, чтобы иметь возможность использовать эти настройки прозрачно в любом из моих модулей, скажем, test.py
:
from config.settings import LOG_LEVEL
Это будет использовать правильную установку, либо от production.py
, либо от development.py
, в зависимости от RUNNING_MODE
.
Есть ли приемлемый подход для обработки такого рода настроек? Как бы я структурировал каталоги/модули так, чтобы, просто изменив RUNNING_MODE
в config/top.py
, вся конфигурация происходит прозрачно?
Примечание: Я предпочитаю, чтобы это не было в процессе сборки, но чтобы оно было встроено в структуру модуля. То есть, я не хочу, чтобы процесс сборки менял любой из моих модулей.