在请求期间打开会话界面之前,如何在`g`中设置数据库?

时间:2015-06-18 07:11:01

标签: python flask

我正在尝试设置数据库连接并将其存储在flask.g中以便稍后访问session interface。我发现Flask按以下顺序处理请求:

  1. Flask.wsgi_app设置RequestContext
  2. 然后调用full_dispatch_request
  3. full_dispatch_request来电preprocess_request
  4. 最后,preprocess_request调用before_request_funcs
  5. 中的函数

    据我了解,before_request_funcs中存储的函数是我实际可以访问flask.g的第一个地方。但是session_interface.open_session方法已经调用了RequestContext.push,早在我能够在flask.g上设置任何内容之前。

    RequestContext.push中的评论似乎表明我应该能够在此之前设置数据库。

    # Open the session at the moment that the request context is
    # available. This allows a custom open_session method to use the
    # request context (e.g. code that access database information
    # stored on `g` instead of the appcontext).
    

    我错过了什么吗?如何在会话打开之前在g中设置数据库连接?

0 个答案:

没有答案