溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Django和Flask框架優(yōu)缺點(diǎn)對比

發(fā)布時間:2020-10-06 00:17:23 來源:腳本之家 閱讀:219 作者:snailon 欄目:開發(fā)技術(shù)

Flask 在 Django 之后發(fā)布,現(xiàn)階段有大量的插件和擴(kuò)展?jié)M足不同需要 Django發(fā)布于2005年,F(xiàn)lask創(chuàng)始于2010年年中。

Django功能大而全,F(xiàn)lask只包含基本的配置, Django的一站式解決的思路,能讓開發(fā)者不用在開發(fā)之前不用花費(fèi)大量時間在選擇應(yīng)用的基礎(chǔ)設(shè)施。

Django有模板,表單,路由,認(rèn)證,基本的數(shù)據(jù)庫管理等等內(nèi)建功能。與之相反,F(xiàn)lask只是一個內(nèi)核,默認(rèn)依賴于兩個外部庫: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以擴(kuò)展的形式進(jìn)行嵌入使用。

Flask 比 Django 更靈活 用Flask來構(gòu)建應(yīng)用之前,選擇組件的時候會給開發(fā)者帶來更多的靈活性 ,可能有的應(yīng)用場景不適合使用一個標(biāo)準(zhǔn)的ORM(Object-Relational Mapping 對象關(guān)聯(lián)映射),或者需要與不同的工作流和模板系統(tǒng)交互。

一、整體設(shè)計方面

首先,兩者都是非常優(yōu)秀的框架。整體來講,兩者設(shè)計的哲學(xué)是區(qū)別最大的地方。

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

Flask只提供了一些核心功能,非常簡潔優(yōu)雅。它是一個微框架,其他的由擴(kuò)展提供,但它的blueprint使它也能夠很方便的進(jìn)行水平擴(kuò)展。

二、路由設(shè)計

Django的路由設(shè)計是采用集中處理的方法,利用正則匹配。Flask也能這么做,但更多的是使用裝飾器的形式,這個有優(yōu)點(diǎn)也有缺點(diǎn),優(yōu)點(diǎn)是讀源碼時看到函數(shù)就知道怎么用的,缺點(diǎn)是一旦源碼比較長,你要查路由就不太方便了,但這也促使你去思考如何更合理的安排代碼。

三、應(yīng)用模塊化設(shè)計

Django的模塊化是集成在命令里的,也就是說一開始Django的目標(biāo)就是為以后玩大了做準(zhǔn)備的。每個都是一個獨(dú)立的模塊,為以后的復(fù)用提供了便利。

Flask通過Blueprint來提供模塊化,自己對項(xiàng)目結(jié)構(gòu)劃分成不同的模塊進(jìn)行組織。

四、配置

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

五、文檔

兩者都提供了詳盡的文檔,F(xiàn)lask的文檔風(fēng)格很受我個人喜好,Django的文檔也非常優(yōu)秀,當(dāng)時用學(xué)Django時,就是只看了Django的文檔。

六、社區(qū)

Django社區(qū)很大,各種插件很齊全,大部分情況下你都能找到你想要的。

Flask起步晚,但社區(qū)也不小,之前有一次看在github上的star數(shù),兩個相差并不遠(yuǎn),說明越來越多的人關(guān)注它,雖然插件沒那么全,但常用的還都是有的,而且質(zhì)量都比較高。

最后再次說一下,兩個都是非常優(yōu)秀的框架,很多時候選用這些框架是根據(jù)實(shí)際項(xiàng)目側(cè)重不同來選的:-)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI