Django
主要是用來搞快速開發的,他的亮點就是快速開發,節約成本,正常的并發量不過 10000,如果要實現高并發的話,就要對 Django 進行二次開發,比如把整個笨重的框架給拆掉,自己寫 socket 實現 http 的通信,底層用純 c/c++寫提升效率,ORM 框架給干掉,自己編寫封裝與數據庫交互的框架,因為啥呢,ORM 雖然面向對象來操作數據庫,但是它的效率很低,使用外鍵來聯系表與表之間的查詢。
Flask
輕量級,主要是用來寫接口的一個框架,實現前后端分離,提升開發效率,Flask 本身相當于一個內核,其他幾乎所有的功能都要用到擴展(郵件擴展 Flask-Mail,用戶認證 Flask-Login),都需要用第三方的擴展來實現。比如可以用 Flask-extension 加入 ORM、窗體驗證工具,文件上傳、身份驗證等。Flask 沒有默認使用的數據庫,你可以選擇 MySQL,也可以用 NoSQL。
其 WSGI 工具箱采用 Werkzeug(路由模塊),模板引擎則使用 Jinja2。這兩個也是 Flask 框架的核心。Python 最出名的框架要數 Django,此外還有 Flask、Tornado 等框架。雖然 Flask 不是最出名的框架,但是 Flask 應該算是最靈活的框架之一,這也是 Flask 受到廣大開發者喜愛的原因。
Tornado
Tornado 是一種 Web 服務器軟件的開源版本。
Tornado 和現在的主流 Web 服務器框架(包括大多數 Python 的框架)有著明顯的區別:它是非阻塞式服務器,而且速度相當快。得利于其非阻塞的方式和對 epoll 的運用,Tornado 每秒可以處理數以千計的連接,因此 Tornado 是實時 Web 服務的一個 理想框架。