Flask中的Web API

4 投票
1 回答
702 浏览
提问于 2025-04-17 15:59

我想用Flask来为我的应用创建一个网络API,但在让我的Flask应用了解其他对象时遇到了一些问题。

  • 我想使用Flask,这样我就可以通过http请求与我的应用进行交互。所以在我的情况下,整个Flask应用只是一个外部API,它依赖于一个核心应用。
  • 假设我的Flask应用需要进行数据库操作
  • 为了管理数据库操作,我使用一个单一对象来连接数据库,并且实现某种队列
  • 这意味着我在后台运行的核心应用有一个指向我的数据库对象的引用,以便进行数据库调用。
  • 这是通过将我的队列对象的引用传递给这个核心应用来实现的。
  • 现在我也想通过Flask应用对数据库进行操作

那么,如何将这个队列对象的引用传递给我的Flask应用呢?

如果我在模块级别定义了所有对象,我之后就无法与它们进行交互,对吧?

所有Flask应用的示例都把Flask作为系统的核心,并在模块级别定义了一切。我该如何让Flask只是我应用的一部分呢?

1 个回答

1

我不太明白你说的是什么意思。

如果我在模块级别定义了所有对象,那我之后就无法与它们互动,对吧?

其实不是这样的,你不一定要在模块级别定义你的对象。比如说,你的 Flask 实例、蓝图和你提供的任何对象都可以在其他地方定义。举个例子,你可以创建一个 AppBuilder 类,用来创建和配置 Flask 实例。

另外,对于某些交互,上下文局部变量 也是一个非常方便的工具。

如果你能进一步说明问题,我会尽量详细回答。

撰写回答