flask中blueprint实现原理
本质是在app中添加一个路由规则
刚学python ,勿喷
image.png项目结构
app/main/init.py : blueprint(蓝本文件)
代码第三行创建了一个Blueprint类
main = Blueprint(main, __name__)
app/init.py:项目初始化文件,主要创建app
代码32行调用了上面的main(蓝本)
app.register_blueprint(main_blueprint)
image.png
这里的self其实是前面调用的app,然后找到register
image.png
image.png image.png
register中在核心代码是
state = self.make_setup_state(app, options, first_registration)
make_setup_state 返回的是BlueprintSetupState类
调用了BlueprintSetupState中的add_url_rule()
网友评论