Django(ORM薯鳍、URL分發(fā)系統(tǒng)涕烧、MTV )
Django是一個開放源代碼的Web應用框架月而,由Python寫成。采用了MVC的框架模式议纯,即模型M父款,視圖V和控制器C。它最初是被開發(fā)來用于管理勞倫斯出版集團旗下的一些以新聞內(nèi)容為主的網(wǎng)站的瞻凤,即CMS(內(nèi)容管理系統(tǒng))軟件憨攒。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的阀参。
Django基于MVC的設計十分優(yōu)美:
對象關(guān)系映射 (ORM,object-relational mapping):以Python類形式定義你的數(shù)據(jù)模型肝集,ORM將模型與關(guān)系數(shù)據(jù)庫連接起來,你將得到一個非常容易使用的數(shù)據(jù)庫API蛛壳,同時你也可以在Django中使用原始的SQL語句杏瞻。
URL 分派:使用正則表達式匹配URL所刀,你可以設計任意的URL,沒有框架的特定限定伐憾。像你喜歡的一樣靈活。
模版系統(tǒng):使用Django強大而可擴展的模板語言赫模,可以分隔設計树肃、內(nèi)容和Python代碼。并且具有可繼承性瀑罗。
表單處理:你可以方便的生成各種表單模型胸嘴,實現(xiàn)表單的有效性檢驗≌都溃可以方便的從你定義的模型實例生成相應的表單劣像。
Cache系統(tǒng):可以掛在內(nèi)存緩沖或其它的框架實現(xiàn)超級緩沖 -- 實現(xiàn)你所需要的粒度。
會話(session):用戶登錄與權(quán)限檢查摧玫,快速開發(fā)用戶會話功能耳奕。
國際化:內(nèi)置國際化系統(tǒng),方便開發(fā)出多種語言的網(wǎng)站诬像。
自動化的管理界面:不需要你花大量的工作來創(chuàng)建人員管理和更新內(nèi)容屋群。Django自帶一個ADMIN site,類似于內(nèi)容管理系統(tǒng)
Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱采用 Werkzeug 坏挠,模板引擎則使用 Jinja2 芍躏。Flask使用 BSD 授權(quán)。
Flask也被稱為 “microframework” 降狠,因為它使用簡單的核心对竣,用 extension 增加其他功能。Flask沒有默認使用的數(shù)據(jù)庫榜配、窗體驗證工具否纬。
特色:
自帶開發(fā)用服務器和debugger
集成單元測試 (unit testing)
RESTful request dispatching
使用Jinja2(英語:Jinja (template engine)) 模板引擎
支持 secure cookies (client side sessions)
100% WSGI 1.0 兼容
Unicode based
詳細的文件、教學
Google App Engine兼容
可用 Extensions 增加其他功能
Tornado是一種 Web 服務器軟件的開源版本蛋褥。Tornado 和現(xiàn)在的主流 Web 服務器框架(包括大多數(shù) Python 的框架)有著明顯的區(qū)別:它是非阻塞式服務器烦味,而且速度相當快。
得利于其非阻塞的方式和對epoll的運用壁拉,Tornado 每秒可以處理數(shù)以千計的連接谬俄,因此 Tornado 是實時 Web 服務的一個 理想框架。
Tornado就是我們在 FriendFeed 的 Web 服務器及其常用工具的開源版本 弃理。Tornado 和現(xiàn)在的主流 Web 服務器框架(包括大多數(shù) Python 的框架)有著明顯的區(qū)別:它是非阻塞式服務器溃论,而且速度相當快。得利于其 非阻塞的方式和對epoll的運用痘昌,Tornado 每秒可以處理數(shù)以千計的連接钥勋,因此 Tornado 是實時 Web 服務的一個 理想框架炬转。我們開發(fā)這個 Web 服務器的主要目的就是為了處理 FriendFeed 的實時功能 ——在 FriendFeed 的應用里每一個活動用戶都會保持著一個服務器連接。