Вы можете загрузить конфиг однако вы хотите, единственное требование заключается в том, что она заканчивается в app.config
. from_object
- это просто вспомогательный метод, если ваша конфигурация находится в импортируемом файле Python, например, в вашем примере настройки по умолчанию. Есть и другие помощники, или вы можете просто обрабатывать app.config
как dict и задавать значения, как вы хотите.
Стандартный метод переопределения настроек по умолчанию - загрузить их, а затем загрузить локальные настройки из папки экземпляра.
app = Flask(__name__, instance_relative_config=True)
app.config.from_object('myapp.default_settings')
app.config.from_pyfile('local_settings.py', silent=True)
Это загрузит local_settings.py
в папке экземпляра в конфигурации, и игнорировать, если файл не существует.
myproject/
myapp/
__init__.py
default_settings.py
instance/
local_settings.py
Доступ к конфигурации везде, где вам нужно, импортируя приложение.
from myapp import app
my_value = app.config['my_key']
Большое вам спасибо. У меня есть несколько файлов. например run.py, utils.py ... все они должны получить значения из файла конфигурации. мне нужно создать переменную приложения (app = Flask (__ name__)) в каждом файле или есть лучший способ сделать это? – qinking126
Нет, у вас уже есть приложение, просто импортируйте его. – davidism