Werkzeug簡介
什麼是Werkzeug
官網的描述是
Werkzeug is a WSGI utility library for Python. It’s widely used and BSD licensed. – Zerkzeug
什麼又是WSGI呢?WSGI的全稱是Web Server Gateway Interface,它是用來定義web服務器接口的一個規範。簡單地講,就是定義http服務器應該長什麼樣子,能處理哪些事情。PEP333就是對這個規範的詳細描述。
Werkzeug就是用python對WSGI的實現一個通用庫。它是Flask所使用的底層WSGI庫。
Werkzeug的源碼在託管在GitHub,目前的開發還是很活躍的狀態。
Werkzeug包含哪些內容的實現
- HTTP頭的解析
- 易用使用的request和response對象
- 基於交互風格的JavaScript腳本語言的瀏覽器調試器
- 與 WSGI 1.0 規範100%兼容
- 支持Python 2.6, 2.7和3.3
- Unicode支持
- HTTP Session和簽名Cookie支持
- URI和IRI處理函數,包含對Unicode的支持
- 內置兼容一些非標準的WSGI服務器和瀏覽器
- 集成了URLs路由功能
關於Werkzeug作者
Werkzeug的作者是Armin Ronacher,它是個高產的程序員。從Werkzeug,到Flask,再到Jinja2幾乎一個人包圓了。它的博客上也經常分享一些很有價值文章,對Python編程感興趣的朋友可以讀一讀。
看到過一個對Werkzeug和Flask源碼的評價:
Most pythonic code and write for human being
What’s next?
挖個大坑:閱讀Werkzeug源碼,總結一些有價值的信息,寫成博文。