Flask應用上下文源碼剖析流程2(多app應用)

實際開發工作中不需要用,藍圖可實現同樣的功能,瞭解即可!

例子:

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時,棧就派上用場了!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章