在python語言中,有着特別厲害的三大框架。
這三個框架分別為:Flask框架,Tornado框架,Django框架。
Flask框架:Flask誕生於2010年,是Armin ronacher(人名)用 Python 語言基於 Werkzeug 工具箱編寫的輕量級Web開發框架。
Flask 本身相當於一個內核,其他幾乎所有的功能都要用到擴展(郵件擴展Flask-Mail,用戶認證Flask-Login,數據庫Flask-SQLAlchemy),都需要用第三方的擴展來實現。比如可以用 Flask 擴展加入ORM、窗體驗證工具,文件上傳、身份驗證等。Flask 沒有默認使用的數據庫,你可以選擇 MySQL,也可以用 NoSQL。
Flask常用擴展包: Flask-SQLalchemy:操作數據庫;Flask-script:插入腳本; Flask-migrate:管理遷移數據庫; Flask-Session:Session存儲方式指定; Flask-WTF:表單; Flask-Mail:郵件; Flask-Bable:提供國際化和本地化支持,翻譯; Flask-Login:認證用戶狀態; Flask-OpenID:認證; Flask-RESTful:開發REST API的工具; Flask-Bootstrap:集成前端Twitter Bootstrap框架; Flask-Moment:本地化日期和時間; Flask-Admin:簡單而可擴展的管理接口的框架or
Tornado框架:
我們在創建tornado.web.Application的對象時,傳⼊了第⼀ 個參數——路由映射列表。實際上Application類的構造函數還接收很多關於 tornado web應⽤的配置參數,在后⾯的學習中我們⽤到的地⽅會為⼤家介 紹。 我們先來學習⼀個參數: debug,設置tornado是否⼯作在調試模式,默認為False即⼯作在⽣產模 式。當設置debug=True 后,tornado會⼯作在調試/開發模式,在此種模式 下,tornado為⽅便我們開發⽽提供了⼏種特性: 1.⾃動重啟,tornado應⽤會監控我們的源代碼⽂件,當有改動保存后便會 2.重啟程序,這可以減少我們⼿動重啟程序的次數。需要注意的是,⼀旦 我們保存的更改有錯誤,⾃動重啟會導致程序報錯⽽退出,從⽽需要我 們保存修正錯誤后⼿動啟動程序。這⼀特性也可單獨通過 autoreload=True設置; 3.取消緩存編譯的模板,可以單獨通過compiled_template_cache=False來 設置; 4.取消緩存靜態⽂件hash值,可以單獨通過static_hash_cache=False來設 置; 5.提供追蹤信息,當RequestHandler或者其⼦類拋出⼀個異常⽽未被捕獲 后,會⽣成⼀個包含追蹤信息的⻚⾯,可以單獨通過 serve_traceback=True來設置。
Django框架:Django框架是一個重量級框架,相比上邊那兩個框架都要重要的很多。
Django,發音為[`dʒæŋɡəʊ],是用python語言寫的開源web開發框架,並遵循MVC設計。勞倫斯出版集團為了開發以新聞內容為主的網站,而開發出來了這個框架,於2005年7月在BSD許可證下發布。這個名稱來源於比利時的爵士音樂家DjangoReinhardt,他是一個吉普賽人,主要以演奏吉它為主,還演奏過小提琴等。由於Django在近年來的迅速發展,應用越來越廣泛,被著名IT開發雜志SDTimes評選為2013SDTimes100,位列"API、庫和框架"分類第6位,被認為是該領域的佼佼者。
對比Flask框架,Django原生提供了眾多的功能組件,讓開發更簡便快速。