Метод from_prefixed_env
Метод from_prefixed_env применяется к объекту конфигурации приложения Flask. Он читает переменные окружения, имена которых начинаются с указанного префикса, и переносит их значения в конфигурацию. По умолчанию префиксом является FLASK_. Имена переменных без префикса преобразуются в ключи конфигурации в нижнем регистре. Значения разбираются как JSON, если это возможно, а вложенные структуры через двойное подчёркивание превращаются в словари.
Синтаксис
config.from_prefixed_env(prefix='FLASK_', loads=json.loads)
Первый параметр задаёт префикс переменных окружения. Второй параметр - функция для разбора значений, по умолчанию используется json.loads.
Пример
Давайте загрузим переменную окружения FLASK_DEBUG в конфигурацию:
from flask import Flask
app = Flask(__name__)
app.config.from_prefixed_env()
print(app.config['DEBUG'])
Результат выполнения кода при FLASK_DEBUG=true:
True
Пример
Давайте укажем собственный префикс MYAPP_ и загрузим строку:
from flask import Flask
app = Flask(__name__)
app.config.from_prefixed_env('MYAPP_')
print(app.config['SECRET_KEY'])
Результат выполнения кода при MYAPP_SECRET_KEY=abcde:
"abcde"
Пример
Давайте загрузим вложенную структуру через двойное подчёркивание:
from flask import Flask
app = Flask(__name__)
app.config.from_prefixed_env('MYAPP_')
print(app.config['DATABASE'])
Результат выполнения кода при MYAPP_DATABASE__HOST=user:
{'HOST': 'user'}
Смотрите также
-
класс
Config,
который хранит настройки приложения -
метод
from_envvar,
который загружает конфигурацию из файла по переменной окружения -
метод
from_mapping,
который загружает настройки из словаря -
метод
from_pyfile,
который загружает настройки из Python-файла