При чтении документации на колбу не детально описано, как считывать значения из файлов конфигурации, как это достигается?
Вы можете прочитать об этом в документе колбы здесь (заголовок «configuring-from-files»)
open_instance_resource
- это всего лишь ярлык для работы с файлами, которые находятся в «папке экземпляра» (специальное место, где вы можете хранить развернутые файлы).Это не должен быть способ получить вашу конфигурацию как dict.
Flask хранит свою конфигурационную переменную (app.config) как объект dict.Вы можете обновить его с помощью нескольких методов: from_envvar
, from_pyfile
, from_object
и т. Д. Посмотрите на исходный код
Один из типичных способов чтения людьми конфигурационных файлов.в приложениях на основе колб:
app = Flask('your_app')
...
app.config.from_pyfile(os.path.join(basedir, 'conf/api.conf'), silent=True)
...
После этого вы можете использовать свой объект конфигурации, похожий на dict, как хотите:
...
logging_configuration = app.config.get('LOGGING')
if logging_configuration:
logging.config.dictConfig(logging_configuration)
...
from flask import Flask
app = Flask(__name__)
import os
app.config.from_pyfile(os.path.join('.', 'conf/api.conf'), silent=True)
@app.route('/')
def hello_world():
return 'Hello World! {}'.format(app.config.get('LOGGING'))
if __name__ == '__main__':
app.run()