在 Flasl Web 开发一书中,将程序结构化,将配置分层,并将程序实例放在工厂函数中,代码如下:
class Config:
@
staticmethod
def init_app(app):
pass
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
bootstrap.init_app(app)
mail.init_app(app)
moment.init_app(app)
db.init_app(app)
不明白的是: init_app 实在 config 类中定义的, config[config_name]调用 init_app(app)就可以理解,但扩展对象怎么能够调用呢?在 cofig 类(基类和子类)中没有看到和扩展对象有关的的定义啊? config[config_name]调用 init_app(app)就可以理解
ps :上述代码忽略了一些导入代码和 boostrap = Bootstrap()一类的代码
非常感谢哪位能够指导一下!!!