这个Flask代码中的g对象是什么?

时间:2015-05-28 18:46:20

标签: python flask

我发现这段代码会对每个响应进行计时,但我不确定g应该来自何处。什么是g

@app.before_request
def before_request():
  g.start = time.time()

@app.teardown_request
def teardown_request(exception=None):
    diff = time.time() - g.start
    print diff

1 个答案:

答案 0 :(得分:14)

g是Flask提供的对象。它是一个全局命名空间,用于在单个应用程序上下文中保存您想要的任何数据。

from flask import g

应用程序上下文持续一个请求/响应周期,g不适合跨请求存储数据。 Use a database, redis, the session, or another external data source for persisting data.

请注意,开发服务器和任何Web服务器都将在日志中输出计时信息。如果您确实想要对代码进行分析,可以使用the Werkzeug application profiler