實際開發工作中不需要用,藍圖可實現同樣的功能,瞭解即可!
例子:
from flask import Flask,current_app
from werkzeug.wsgi import DispatcherMiddleware
from werkzeug.serving import run_simple
app1 = Flask("app01")
app2 = Flask("app02")
@app1.route("/index1")
def index1():
print(current_app)
return "index1"
@app2.route("/index2")
def index2():
print(current_app)
return "index2"
app = DispatcherMiddleware(app1,{
'/sec':app2
})
if __name__ == '__main__':
run_simple('localhost',5000,app,)
# http://localhost/index1
# http://localhost/sec/index1
1、執行初始化
2、請求一進來,會運行app(),即調用DispatcherMiddleware的__call__方法
3、執行Flask類的app.__call__方法,到了熟悉的地方!
4、問題:web訪問多app應用時,上下文管理是如何實現的?
補充:爲什麼使用棧,離線腳本測試時,有多個app時,棧就派上用場了!