首先,兩者都是優秀的框架。總的來說,他們設計的理念是最大的不同。
Django提供了壹站式解決方案,有模板、ORM、會話、認證等。全部分配,甚至app的劃分。簡而言之,它為妳做盡可能多的事情,還有壹個殺手級的特性,就是它的admin。有了django-suit,背景就出來了。事實上,Django最初是由在新聞發布公司工作的人設計的。
Flask只提供了壹些核心功能,非常簡潔優雅。它是壹個微框架,其他的由擴展提供,但是它的藍圖使得水平擴展很容易。
二、路由設計
Django的路由設計采用了集中處理的方式和規則匹配。Flask也可以做到這壹點,但更多的是以decorator的形式。這有利有弊。好處是在閱讀源代碼的時候,妳會知道如何使用函數。缺點是壹旦源代碼長了,不方便妳查路線,但也促使妳思考如何更合理的安排代碼。
第三,模塊化設計的應用
Django的模塊化融入了指揮,也就是說Django壹開始的目標就是為未來做準備。每個模塊都是獨立的模塊,為以後的重用提供了方便。
Flask通過Blueprint提供模塊化,將項目結構組織成不同的模塊。
第四,配置
Django的配置主要靠settings.py,當然為了把開發和生產環境分開,也有壹些處理配置的方法。
Flask的配置非常靈活,有很多種配置方式,不同環境下的配置也非常方便。
動詞 (verb的縮寫)證明文件
兩者都提供了詳細的文檔。Flask的文檔風格很受我歡迎,Django的文檔也很優秀。當時我在研究Django的時候,只看過Django的文檔。
不及物動詞社區
Django社區很大,各種插件齊全。大多數情況下,妳可以找到妳想要的。
Flask起步晚,但社群不小。之前有壹次在github上看星數,兩者相差不遠,說明越來越多人在關註。雖然插件沒那麽全,但還是常用的,質量也比較高。
最後再壹次強調,兩者都是優秀的框架,很多時候,這些框架都是根據實際項目的不同側重點來選擇的:-)