05フラスコ源:ローディング構成
1.ロード・プロファイル
from flask import Flask
app = Flask(__name__,static_url_path='/xx')
app.config.from_object('xx.xx')
2.app.configソースコード解析
実行
config
内側make_config
方法self.config = self.make_config(instance_relative_config)
make_config
def make_config(self, instance_relative=False): return self.config_class(root_path, defaults)
例としては
config_class
、クラスconfig_class = Config class Config(dict): # Config继承了字典
3.from_objectソースコード解析
実行
from_object
機能を- Configオブジェクトへのすべてのキーと値のペア
def from_object(self, obj): if isinstance(obj, string_types): obj = import_string(obj) for key in dir(obj): if key.isupper(): self[key] = getattr(obj, key)
実行
import_string(obj)
機能を- 最後の点の分割によりIMPORT_NAMEプロフィール
- オブジェクト名で撮影リフレクション
def import_string(import_name, silent=False): import_name = str(import_name).replace(":", ".") module_name, obj_name = import_name.rsplit(".", 1) module = __import__(module_name, globals(), locals(), [obj_name]) return getattr(module, obj_name)
4.まとめ
コンフィグにすべてのキーと値のペアのコンフィギュレーションファイル、およびすべての鍵オブジェクトを読み込み
- Configが辞書です
設定ファイルはapp.configをに割り当てられConfigオブジェクトのすべてが含まれています