2015-11-30 4 views
2

Мне нужно загрузить конфигурацию из нескольких файлов. Я использую приведенный ниже код для загрузки одного файла. Должен ли я использовать его повторно? Как загрузить несколько конфигураций?Конфигурация загрузки флажка из нескольких файлов

app = Flask(__name__) 
app.config.from_object('yourapplication.default_settings') 

ответ

4

Вы можете загрузить конфиг однако вы хотите, единственное требование заключается в том, что она заканчивается в 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'] 
+0

Большое вам спасибо. У меня есть несколько файлов. например run.py, utils.py ... все они должны получить значения из файла конфигурации. мне нужно создать переменную приложения (app = Flask (__ name__)) в каждом файле или есть лучший способ сделать это? – qinking126

+0

Нет, у вас уже есть приложение, просто импортируйте его. – davidism

Смежные вопросы