Переопределяйте настройки django, только если они присутствуют в os.environ

Я хочу определить функцию, которая при определенных обстоятельствах будет создавать переменную в области видимости, где была вызвана функция.

Что-то вроде этого:

def hook_env(new_var_name, env_var_name):
    if env_var_name in os.environ:
        "define new_var_name at the scope in which this function was defined and set it equal to os.environ[env_var_name]"

Мой вариант использования заключается в том, чтобы я мог переопределять настройки Django из переменных окружения, но только присутствующих в окружении.

Подобное недействительно

    # only create the variable if some criteria is met
    def hook_env(new_var, env_name):
         if env_name in os.environ:
             global()[new_var] = os.environ[env_name]

В C/C++ я мог бы использовать макрос. Я не знаю, что делать в python.

Будет ли безопасно изменить переменную по умолчанию, где django создает ее в первую очередь (django/conf/global_settings.py) из моего файла настроек?

Вернуться на верх