码迷,mamicode.com
首页 > 其他好文 > 详细

Flask - 中间件

时间:2018-05-10 11:27:42      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:tar   wsgi   env   flask   有用   sel   init   cal   __call__   

其实就是封装旧酒,装进新瓶,自己再加点料。留坑,还没有用到。

Flask的请求扩展就是Django的中间件。Django的中间件不是Flask的中间件

from flask import Flask

app = Flask(__name__)

@app.route(‘/‘)
def index():
    return ‘Hello World!‘

class Md(object):
    def __init__(self,old_wsgi_app):
        self.old_wsgi_app = old_wsgi_app

    def __call__(self,  environ, start_response):
        print(‘开始之前‘)
        # 。。。一些自定义操作
        ret = self.old_wsgi_app(environ, start_response)
        # 。。。一些自定义操作
        print(‘结束之后‘)
        return ret

if __name__ == ‘__main__‘:
    # 封装旧的app.wsgi_app,这是app.run()的原理,看源码。会调用__call__方法
    app.wsgi_app = Md(app.wsgi_app)
    app.run()

Flask - 中间件

标签:tar   wsgi   env   flask   有用   sel   init   cal   __call__   

原文地址:https://www.cnblogs.com/allen2333/p/9017756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!