当前位置:网站首页>Flask - 中间件
Flask - 中间件
2022-04-23 05:47:00 【峰爷520】
其实就是封装旧酒,装进新瓶,自己再加点料。留坑,还没有用到。
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()
from flask import Flask, flash, redirect, render_template, request
app = Flask(__name__)
app.secret_key = 'some_secret'
@app.route('/')
def index1():
return render_template('index.html')
@app.route('/set')
def index2():
v = request.args.get('p')
flash(v)
return 'ok'
class MiddleWare:
def __init__(self,wsgi_app):
self.wsgi_app = wsgi_app
def __call__(self, *args, **kwargs):
return self.wsgi_app(*args, **kwargs)
if __name__ == "__main__":
app.wsgi_app = MiddleWare(app.wsgi_app)
app.run(port=9999)
问题:这是不是Flask-extensions的实现原理?看见都是这样用第三方扩展的。日后研究
版权声明
本文为[峰爷520]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_41752427/article/details/111592047
边栏推荐
猜你喜欢
随机推荐
Basic knowledge of network in cloud computing
Integration and induction of knowledge points of automatic control principle (Han min version)
[transfer] MySQL: how many rows of data can InnoDB store in a B + tree?
Consistent hash algorithm used for redis cache load balancing
Rust 中的 Rc智能指针
Storing inherited knowledge in cloud computing
Doomsday (simple computational geometry)
MySQL table constraints and table design
1. Calculate a + B
Common shortcut keys of IDE
检测技术与原理
12. Monkeys climb mountains
Rust:在线程池中共享变量
word排版遇到的格式问题
渔网道路密度计算
Detection technology and principle
基于Sentinel+Nacos 对Feign Client 动态添加默认熔断规则
Motor and drive (Qi Jinqing Edition)
[leetcode 202] happy number
xlsxwriter.exceptions.FileCreateError: [Errno 13] Permission denied问题


![[leetcode 59] spiral matrix II](/img/6e/58e600272797563129d2b325a054b5.png)

![[leetcode 202] happy number](/img/b2/a4e65688aef3a0cec8088bcaba048f.jpg)



