Django
Django恐怕是最有代表性的Python框架了。它是一個遵循MMVC架構模式的開源框架。它的名字來自Django Reinhardt,一個法國作曲家和吉他演奏家,很多人認為他是歷史上最偉大的吉他演奏家。位於堪薩斯洲的Lawrence城的Lawrence Journal-World報社有兩位程序員,Adrian Holovaty和Simon Willison,他們在2003的時候開發出了Django,用於給報紙開發web程序。
Django內置了模板引擎,同時也通過OOTB來支持流行的Jinja2引擎。它還支持基於正則的URL分發,可以通過簡單的URL來完成復雜的映射。
Django的優勢之一是只需要單獨的安裝包來安裝。其他的一些類似的框架需要下載很多組件才能開始工作。而且,Django還有完善的保持更新的文檔,對於開源項目來說這通常是短板。它是一個健壯的框架,很好的集成了很多來自社區的插件和擴展。項目背后的社區看上去也組織的很好,這從它非常完善的文檔和教程就可以看出來。
Flask
Flask是一個基於Jinja2和Werkzeug的python微框架,和其他框架類似,它是BSD授權的,一個有少量限制的免費軟件許可。使用Flask的網站包括領英LinkedIN和Pinterest。Flask有以下特點:
- 內建的單元測試支持
- 模板使用Jinjia2
- 大量文檔
- 客戶端會話使用安全cookies
- 開發服務器和調試器
- Restful請求
- 與WSGI 1.0兼容
- 基於unicode
- 大量的擴展Flask是一個年輕的框架,2010年誕生,Flask的目標是不給程序員強加限制,允許你使用自己的數據庫對象關系映射,模板引擎,會話中間件以及你的項目所需的其他組件,在我看來這就是這個微框架的用意。我想說像Flask這樣的框架更適合有經驗的開發者,並不是小規模應用程序所必須的,當然,如果你只想做一個簡單的REST API,那么Flask當然再好不過了。
總的來說,Django 中 mvc 的開發方式更符合我們的思考方式,Django大而全,很適合新手