Django和Flask框架優(yōu)缺點對比
Flask 在 Django 之后發(fā)布,現(xiàn)階段有大量的插件和擴展?jié)M足不同需要 Django發(fā)布于2005年,F(xiàn)lask創(chuàng)始于2010年年中。
Django功能大而全,F(xiàn)lask只包含基本的配置, Django的一站式解決的思路,能讓開發(fā)者不用在開發(fā)之前不用花費大量時間在選擇應用的基礎設施。
Django有模板,表單,路由,認證,基本的數(shù)據(jù)庫管理等等內建功能。與之相反,F(xiàn)lask只是一個內核,默認依賴于兩個外部庫: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以擴展的形式進行嵌入使用。
Flask 比 Django 更靈活 用Flask來構建應用之前,選擇組件的時候會給開發(fā)者帶來更多的靈活性 ,可能有的應用場景不適合使用一個標準的ORM(Object-Relational Mapping 對象關聯(lián)映射),或者需要與不同的工作流和模板系統(tǒng)交互。
一、整體設計方面
首先,兩者都是非常優(yōu)秀的框架。整體來講,兩者設計的哲學是區(qū)別最大的地方。
Django提供一站式的解決方案,從模板、ORM、Session、Authentication等等都分配好了,app, admin后臺生成, 使用非常方便.
Flask只提供了一些核心功能,非常簡潔優(yōu)雅。它是一個微框架,其他的由擴展提供,但它的blueprint使它也能夠很方便的進行水平擴展。
二、路由設計
Django的路由設計是采用集中處理的方法,利用正則匹配。Flask也能這么做,但更多的是使用裝飾器的形式,這個有優(yōu)點也有缺點,優(yōu)點是讀源碼時看到函數(shù)就知道怎么用的,缺點是一旦源碼比較長,你要查路由就不太方便了,但這也促使你去思考如何更合理的安排代碼。
三、應用模塊化設計
Django的模塊化是集成在命令里的,也就是說一開始Django的目標就是為以后玩大了做準備的。每個都是一個獨立的模塊,為以后的復用提供了便利。
Flask通過Blueprint來提供模塊化,自己對項目結構劃分成不同的模塊進行組織。
四、配置
Django的配置主要還是靠settings.py來做,當然為了Development和Production環(huán)境分離,還有一些方法來處理配置。
Flask的配置很靈活,有多種方法配置,不同環(huán)境的配置也非常方便。
五、文檔
兩者都提供了詳盡的文檔,F(xiàn)lask的文檔風格很受我個人喜好,Django的文檔也非常優(yōu)秀,當時用學Django時,就是只看了Django的文檔。
六、社區(qū)
Django社區(qū)很大,各種插件很齊全,大部分情況下你都能找到你想要的。
Flask起步晚,但社區(qū)也不小,之前有一次看在github上的star數(shù),兩個相差并不遠,說明越來越多的人關注它,雖然插件沒那么全,但常用的還都是有的,而且質量都比較高。
最后再次說一下,兩個都是非常優(yōu)秀的框架,很多時候選用這些框架是根據(jù)實際項目側重不同來選的:-)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Python web框架(django,flask)實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例
- django和flask哪個值得研究學習
- flask/django 動態(tài)查詢表結構相同表名不同數(shù)據(jù)的Model實現(xiàn)方法
- Flask和Django框架中自定義模型類的表名、父類相關問題分析
- 查看Django和flask版本的方法
- python常用web框架簡單性能測試結果分享(包含django、flask、bottle、tornado)
- 在 Django/Flask 開發(fā)服務器上使用 HTTPS
- 使用Django和Flask獲取訪問來源referrer
相關文章
python網(wǎng)絡編程學習筆記(三):socket網(wǎng)絡服務器
服務器和客戶端程序很類似,上節(jié)學習了客戶端程序,這一節(jié)將仔細學習一下利用socket建立TCP服務器和UDP服務器2014-06-06
pandas 實現(xiàn)將重復表格去重,并重新轉換為表格的方法
下面小編就為大家分享一篇pandas 實現(xiàn)將重復表格去重,并重新轉換為表格的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

