在Flask蓝图子模块中使用路由装饰器

0 投票
1 回答
682 浏览
提问于 2025-04-18 13:03

我在 /mybp 文件夹里有一个蓝图(blueprint),我想在这个文件夹里的不同文件中声明视图(views):

/mybp/__init__.py
/mybp/some_views.py
/mybp/some_other_views.py

有什么好的方法可以让 @mybp.route() 这个装饰器在除了 __init__.py 以外的文件中使用呢?

1 个回答

1

你需要在其他模块中导入 mybp 对象:

from mybp import mybp

或者使用 相对导入引用

from . import mybp

如果你在 __init__ 文件中导入 some_viewssome_other_views,一定要在创建 mybp Blueprint 实例之后再导入。

还可以查看 Flask 文档中 循环导入 这一部分,具体在 大型应用 章节里。

撰写回答