狼书和狗书里面都有博客这个案例,但狼书相对更加详细。
要点如下:
1.工厂函数
工厂函数里完成创建app
app = Flask('blog')
插件的初始化
博客里用到不少插件,可以规整到extensions.py里面,然后在工厂函数中进行初始化。
Bootstrap,SQLAlchemy,Mail,CKEditor,Moment,LoginManager,CSRFProtect
举例说明:
extension.py
from flask_bootstrap import Bootstrap
from flask_sqlalchemy import SQLAlchemy
bootstrap = Bootstrap()
db = SQLAlchemy()
__init.py__ 初始化
def register_extensions(app):
bootstrap.init_app(app)
db.init_app(app)
蓝图
蓝图的定义:蓝本实例以及一系列注册在蓝本实例上的操作的集合被称为一个蓝本。可以吧蓝本想象成一个模子,它描述了程序某一部分的细节,定义了路由,错误处理器,上下文处理器等等,然而它本身不发挥作用,只有注册到程序上时,才会有作用。
看起来不是很好理解,举个例子。