在Blueprint之间共享代码?

时间:2016-09-25 00:51:37

标签: flask share blueprint

如何在Flask中的蓝图之间共享代码? 你用什么结构?

你是否创建了单独的课程?如果是,您如何传递app或db实例。

最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

要从任何模块访问应用程序实例,Flask提供全局对象here,它在current_app中维护一个应用程序实例的引用。如果您希望将应用程序的各种实例与不同配置一起运行,这将非常有用。使用它:

from flask import current_app

来自Flask docs

  

根据需要创建和销毁应用程序上下文。它   永远不会在线程之间移动,也不会在线程之间共享   要求。因此,它是存储数据库连接的理想场所   信息和其他事情。

Flask的文档非常好。所以看看。

答案 1 :(得分:1)

我认为这取决于你的代码。如果这是某种辅助函数或类,您可以将它放在app附近的包中。如果共享代码依赖于上下文,则可能需要查看项目结构。如前面答案中的味噌所述:

  

Flask的文档非常好。所以看看。

特别是在Blueprints的部分。

但是如果您确定项目结构良好,并且您仍然拥有大量共享代码 - 那么,或许,创建独立库或Flask-extension可能会很有用。

无论如何,这一切都取决于你的代码。