如何在Flask中的蓝图之间共享代码? 你用什么结构?
你是否创建了单独的课程?如果是,您如何传递app或db实例。
最佳做法是什么?
答案 0 :(得分:1)
要从任何模块访问应用程序实例,Flask提供全局对象here,它在current_app
中维护一个应用程序实例的引用。如果您希望将应用程序的各种实例与不同配置一起运行,这将非常有用。使用它:
from flask import current_app
来自Flask docs
根据需要创建和销毁应用程序上下文。它 永远不会在线程之间移动,也不会在线程之间共享 要求。因此,它是存储数据库连接的理想场所 信息和其他事情。
Flask的文档非常好。所以看看。
答案 1 :(得分:1)
我认为这取决于你的代码。如果这是某种辅助函数或类,您可以将它放在app
附近的包中。如果共享代码依赖于上下文,则可能需要查看项目结构。如前面答案中的味噌所述:
Flask的文档非常好。所以看看。
特别是在Blueprints的部分。
但是如果您确定项目结构良好,并且您仍然拥有大量共享代码 - 那么,或许,创建独立库或Flask-extension可能会很有用。
无论如何,这一切都取决于你的代码。