4-3 关于导入蓝本的循环导入问题

来源:4-3 单蓝图多模块拆分视图函数

jefflike

2018-04-02

http://img.mukewang.com/szimg/5ac17d950001672e03120260.jpg第一次在web模块注册蓝本时(app的__init__里),导入过一次web蓝本。导入时会执行web里的__init__http://img.mukewang.com/szimg/5ac17e5800011fc505010188.jpgweb的__init__里导入web下的book_app(视频里的book)下的__init__,会执行book_app文件,在book_app里再次相对导入web时,在同一个模块只有第一次导入时会执行,所以这里的相对导入from 。 import web并不会再次执行web的init,后面完成路由注册(没有循环导入)。http://img.mukewang.com/szimg/5ac17fec000136c304760148.jpg这样写,先导入,执行book_app,因为此时还没有生成蓝图实例,所以注册路由的时候会报错。我是这样理解的,请老师点拨一下

写回答

1回答

7七月

2018-04-02

这个小节已经重新剪辑了,讲的太复杂了 没必要,这两题更新。简单点说就是启动的app和注册路由的app不一样。蓝线流程临时串改了app,而这个app是在红线流程里执行的注册,最后启动的时候又是红线原有的app。

0
0

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程