Django功能大而全,Flask只包含基本的配置, Django的一站式解決的思路,能讓開發者不用在開發以前不用花費大量時間在選擇應用的基礎設施。Django有模板,表單,路由,認證,基本的數據庫管理等等內建功能。與之相反,Flask只是一個內核,默認依賴於兩個外部庫: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其餘不少功能都是以擴展的形式進行嵌入使用。html
Flask 比 Django 更靈活 用Flask來構建應用以前,選擇組件的時候會給開發者帶來更多的靈活性 ,可能有的應用場景不適合使用一個標準的ORM(Object-Relational Mapping 對象關聯映射),或者須要與不一樣的工做流和模板系統交互。git
1、總體設計方面
首先,二者都是很是優秀的框架。總體來說,二者設計的哲學是區別最大的地方。
Django提供一站式的解決方案,從模板、ORM、Session、Authentication等等都分配好了,app, admin後臺生成, 使用很是方便.
Flask只提供了一些核心功能,很是簡潔優雅。它是一個微框架,其餘的由擴展提供,但它的blueprint使它也可以很方便的進行水平擴展。github
2、路由設計
Django的路由設計是採用集中處理的方法,利用正則匹配。Flask也能這麼作,但更多的是使用裝飾器的形式,這個有優勢也有缺點,優勢是讀源碼時看到函數就知道怎麼用的,缺點是一旦源碼比較長,你要查路由就不太方便了,但這也促使你去思考如何更合理的安排代碼。數據庫
3、應用模塊化設計
Django的模塊化是集成在命令裏的,也就是說一開始Django的目標就是爲之後玩大了作準備的。每一個都是一個獨立的模塊,爲之後的複用提供了便利。
Flask經過Blueprint來提供模塊化,本身對項目結構劃分紅不一樣的模塊進行組織。app
4、配置
Django的配置主要仍是靠settings.py來作,固然爲了Development和Production環境分離,還有一些方法來處理配置。
Flask的配置很靈活,有多種方法配置,不一樣環境的配置也很是方便。框架
5、文檔
二者都提供了詳盡的文檔,Flask的文檔風格很受我我的喜愛,Django的文檔也很是優秀,當時用學Django時,就是隻看了Django的文檔。模塊化
6、社區
Django社區很大,各類插件很齊全,大部分狀況下你都能找到你想要的。
Flask起步晚,但社區也不小,以前有一次看在github上的star數,兩個相差並不遠,說明愈來愈多的人關注它,雖然插件沒那麼全,但經常使用的還都是有的,並且質量都比較高。
最後再次說一下,兩個都是很是優秀的框架,不少時候選用這些框架是根據實際項目側重不一樣來選的:-)函數
總結比較好:https://www.cnblogs.com/crss/p/8532950.html工具