Flask - 多APP應用(不太重要)


1. 多APP應用

請求進來時,可以根據URL的不同,交給不同的APP處理。一般用藍圖也可以實現。一般不寫多app應用。

from werkzeug.wsgi import DispatcherMiddleware
from werkzeug.serving import run_simple
from flask import Flask, current_app

app1 = Flask('app01')
app2 = Flask('app02')

@app1.route('/index')
def index():
    return "app01"


@app2.route('/index2')
def index2():
    return "app2"

# localhost/index     --  http://www.baidu.com/index
# localhost/sec/index2    --  http://www.baidu.com/sec/index2
dm = DispatcherMiddleware(app1, {
    '/sec': app2,
})

if __name__ == "__main__":
    app2.__call__
    run_simple('localhost', 5000, dm)

看DispatcherMiddleware的源碼,看app2.__call__源碼
原理其實就是URL分割,然后請求分發給指定的app。然后請求分配給制定的app,之后app也按單app的流程走。就是從app.__call__走。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM