python - 如果按照WSGI的模型來(lái)看,werkzeug的位置在什么地方?
問(wèn)題描述
在PEP333中,其描述的WSGI模型是,底層Server使用約定的方式即(environ, start_response)參數(shù)來(lái)調(diào)用上層的application。其后上層application通過(guò)調(diào)用start_response(參數(shù)這里不寫(xiě)了),再返回可迭代對(duì)象作為body,返回給Server。這樣就完成了整個(gè)過(guò)程。
我有下面幾個(gè)問(wèn)題:1.我上面的這段話理解正確了嗎?2.在使用flask框架時(shí),F(xiàn)lask.wsig_app接收的參數(shù)就是(environ, start_response),那么此時(shí)上層的application也就是flask了?3.werkzeug的定位應(yīng)該是什么呢?它的代碼比f(wàn)lask復(fù)雜了許多,一時(shí)間難以弄清。官網(wǎng)上說(shuō)‘是一個(gè)工具箱’?還是說(shuō)它是pep里說(shuō)的middleware?4.看flask源碼時(shí)大多數(shù)最后還是要回到werkzeug,函數(shù)調(diào)用棧感覺(jué)很深,有沒(méi)有清晰點(diǎn)的調(diào)用圖或者輔助資源可以參考下?如果某個(gè)(或幾個(gè))問(wèn)題不方便回答也非常歡迎只回答其中的部分問(wèn)題~最后,先對(duì)你表示感謝!
問(wèn)題解答
回答1:werkzeug實(shí)際上就是中間件而已,處在服務(wù)器和客戶端之間
