概述
Flask app – test.py
from flask import Flask from middleware import TestMiddleware app = Flask(__name__) app.wsgi_app = TestMiddleware(app.wsgi_app) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
middleware.py:
from flask import request class TestMiddleware(object): def __init__(self,app): self.app = app def __call__(self,environ,start_response): # How do I access request object here. print "I'm in middleware" return self.app(environ,start_response)
我理解可以在Flask应用程序上下文中访问请求.我们通常使用
with app.test_request_context()
但在中间件中,我无法访问Flask app对象.
我该怎么办?
谢谢你的帮助..
from werkzeug.wrappers import Request req = Request(environ,shallow=True)
您甚至可以以相同的方式构造Flask自己的Request对象(flask.wrappers.Request,它是Werkzeug的Request类的子类).看看the source我没有看到任何阻止你这样做的东西,但是因为它不是那样设计的,你可能最好不要使用Werkzeug,除非你需要添加一个额外的属性Flask的子类.
总结
以上是编程之家为你收集整理的python – 如何在Flask MIddleware中访问请求全部内容,希望文章能够帮你解决python – 如何在Flask MIddleware中访问请求所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧