config中的init_app()方法是作者自定义的一个初始化方法,这个你去看看python静态方法就懂了;
其实令人迷惑的是其他的bootstrap.init_app(app)类似这样的xx.init_app(),这个其实是这些Flask扩展自带的初始化方法,和你定义在config.py中的init_app()没有任何关系。
困惑在bootstrap.init_app这部分,原来Flask这些扩展本身就带这个函数
下面这段代码是可以直接运行的:
hello.py
from flask import Flask, render_template
from flask_bootstrap import Bootstrap
from flask_moment import Moment
app = Flask(__name__)
bootstrap = Bootstrap()
moment = Moment()
bootstrap.init_app(app)
moment.init_app(app)
@app.route('/')
def joke():
return render_template('404.html')
if __name__ == '__main__':
app.run()
网友评论