flask 创建蓝图的时候,为什么如下没有产生相互引用?

2018-05-22 21:32:32 +08:00
 sevenQu

在__init__.py

api=Blueprint('api',__name__)
from app.api import user

在 api 包下的 user 模块中

from app.api import api

此种使用情况为什么没有产生相互引用?而且在__init__.py 的顺序还不能变?

2442 次点击
所在节点    Flask
3 条回复
qi1070445109
2018-05-23 00:16:23 +08:00
目录结构呢?
ebingtel
2018-05-23 09:01:48 +08:00
因为 import 是按照加载顺序来的,所以语句的顺序不能变才保证了不会引用循环的问题……另外,感觉应该使用"from . import user"更好些
chouchouya
2018-07-28 11:37:50 +08:00
__init__.py 中的蓝图对象名称改成别的,不要和包同名,应该就可以了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/456965

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX