Flask-Origin:Flask 0.1版本源碼註解
09-23
Flask-Origin:Flask 0.1版本源碼註解
來自專欄 Hello, Flask!52 人贊了文章
本項目是《Flask Web開發實戰》的衍生品。在本書第16章的前半部分,為了讓讀者快速對Flask的源碼結構建立一個初步的認識(以便閱讀後面的內容),推薦讀者閱讀0.1版本的源碼。
本項目對0.1版本Flask源碼(項目根目錄下的flask.py
腳本)中的注釋和文檔字元串進行了翻譯,並在必要的地方添加了一些額外的註解,以便於閱讀和理解。
- 項目地址:https://github.com/greyli/flask-origin
歡迎fork項目進行補充和糾錯。
閱讀前的準備
為了更容易理解Flask的實現原理,你需要對WSGI協議以及HTTP協議有一些了解,建議先簡單瀏覽下面的基本知識:
- PEP 0333和 PEP 3333(WSGI實現)
- HTTP概述
進一步閱讀
Flask內部實現大量依賴於Werkzeug,包括請求和響應對象,路由匹配,URL生成等等,你可以閱讀Werkzeug的文檔來深入了解這些內容的具體實現。另外,如果你對模板渲染部分的內容感興趣,也可以考慮閱讀Jinja2文檔:
- Werkzeug文檔
- Jinja2文檔
注意:新版本的Werkzeug和Jinja2已經發生很大的變化,0.1版本的Flask對應的Werkzeug源碼版本為0.6.1,對應的Jinja2源碼版本為2.4。上述文檔鏈接分別為0.14和2.9版本,請謹慎參考。
推薦閱讀:
※TiDB 源碼閱讀(十五) Sort Merge Join
※不一樣的 React context
※從Chrome源碼看audio/video流媒體實現一
※JDK 源碼閱讀 : DirectByteBuffer
※跋山涉水 —— 深入 Redis 字典遍歷