天天看點

python 選擇 flask_Python web開發選擇Django還是Flask?

原标題:Python web開發選擇Django還是Flask?

首先必須承認,Django還是Flask都是非常優秀Python web架構。他們設計哲學最大的差別在于:Django提供一站式的解決方案,從模闆、ORM、Session、Authentication等等都配置設定好了。大而全,幾乎涵蓋了80%的網站開發應用,文檔很全,插件很多,非常适合新手或者是快速原型開發。Flask隻提供了一些核心功能,非常簡潔優雅。它是一個微架構,其他的由擴充提供。靈活,快速是它的優勢,但是很多時候需要自己建輪子,和NoSql配合使用。

下面分别從路由設計、應用子產品化設計、配置、文檔、社群這五個方面來詳細說說這兩者的差別:

路由設計:

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

應用子產品化設計:

Django的子產品化是內建在指令裡的,也就是說一開始Django的目标就是為以後玩大了做準備的。每個都是一個獨立的子產品,為以後的複用提供了便利。Flask通過Blueprint來提供子產品化,自己對項目結構劃分成不同的子產品進行組織。

配置:

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

文檔:兩者都提供了詳盡的文檔。

社群:Django社群很大,各種插件很齊全,大部分情況下你都能找到你想要的。Flask起步晚,但社群也不小,兩者相差并不遠,雖然插件沒那麼全,但常用的還都是有的,而且品質都比較高。

對于初學者來說,找到一個好的架構來學習或者項目開發都是非常有必要的,而當你有一定開發經驗後,你應該選擇适合目前業務需要的架構。

如果你想自己去設計目錄結構,子產品的劃分等個性化設計時,推薦使用Flask。弊端也很明顯,如果你不是一個經驗豐富的開發者,你很可能會把整個項目架構設計的亂七八糟。很多時候一個項目剛開始并不覺得是個大項目,做到後面功能越來越多,擴充越來越多,就變成了一個大項目,而使用Flask就很容易的完成這個任務,小型項目快速開發,大項目設計靈活。傳回搜狐,檢視更多

責任編輯: