1. 程式人生 > 程式設計 >Django和Flask框架優缺點對比

Django和Flask框架優缺點對比

Flask 在 Django 之後釋出,現階段有大量的外掛和擴充套件滿足不同需要 Django釋出於2005年,Flask創始於2010年年中。

Django功能大而全,Flask只包含基本的配置,Django的一站式解決的思路,能讓開發者不用在開發之前不用花費大量時間在選擇應用的基礎設施。

Django有模板,表單,路由,認證,基本的資料庫管理等等內建功能。與之相反,Flask只是一個核心,預設依賴於兩個外部庫: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以擴充套件的形式進行嵌入使用。

Flask 比 Django 更靈活 用Flask來構建應用之前,選擇元件的時候會給開發者帶來更多的靈活性 ,可能有的應用場景不適合使用一個標準的ORM(Object-Relational Mapping 物件關聯對映),或者需要與不同的工作流和模板系統互動。

一、整體設計方面

首先,兩者都是非常優秀的框架。整體來講,兩者設計的哲學是區別最大的地方。

Django提供一站式的解決方案,從模板、ORM、Session、Authentication等等都分配好了,app,admin後臺生成,使用非常方便.

Flask只提供了一些核心功能,非常簡潔優雅。它是一個微框架,其他的由擴充套件提供,但它的blueprint使它也能夠很方便的進行水平擴充套件。

二、路由設計

Django的路由設計是採用集中處理的方法,利用正則匹配。Flask也能這麼做,但更多的是使用裝飾器的形式,這個有優點也有缺點,優點是讀原始碼時看到函式就知道怎麼用的,缺點是一旦原始碼比較長,你要查路由就不太方便了,但這也促使你去思考如何更合理的安排程式碼。

三、應用模組化設計

Django的模組化是整合在命令裡的,也就是說一開始Django的目標就是為以後玩大了做準備的。每個都是一個獨立的模組,為以後的複用提供了便利。

Flask通過Blueprint來提供模組化,自己對專案結構劃分成不同的模組進行組織。

四、配置

Django的配置主要還是靠settings.py來做,當然為了Development和Production環境分離,還有一些方法來處理配置。
Flask的配置很靈活,有多種方法配置,不同環境的配置也非常方便。

五、文件

兩者都提供了詳盡的文件,Flask的文件風格很受我個人喜好,Django的文件也非常優秀,當時用學Django時,就是隻看了Django的文件。

六、社群

Django社群很大,各種外掛很齊全,大部分情況下你都能找到你想要的。

Flask起步晚,但社群也不小,之前有一次看在github上的star數,兩個相差並不遠,說明越來越多的人關注它,雖然外掛沒那麼全,但常用的還都是有的,而且質量都比較高。

最後再次說一下,兩個都是非常優秀的框架,很多時候選用這些框架是根據實際專案側重不同來選的:-)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。