您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 如何在Flask MIddleware中访问请求

5b51 2022/1/14 8:23:06 python 字数 2119 阅读 624 来源 www.jb51.cc/python

我想在中间件中访问request.url. 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_wo

概述

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中访问请求所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶