亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問Django和Flask這兩個框架在設計上各方面有什么優缺點?

請問Django和Flask這兩個框架在設計上各方面有什么優缺點?

開心每一天1111 2019-08-03 07:03:43
請問Django和Flask這兩個框架在設計上各方面有什么優缺點?
查看完整描述

4 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

一、整體設計方面
首先,兩者都是非常優秀的框架。整體來講,兩者設計的哲學是區別最大的地方。
Django提供一站式的解決方案,從模板、ORM、Session、Authentication等等都分配好了,連app劃分都做好了,總之,為使用者做盡量多的事情,而且還有一個killer級的特性,就是它的admin,配合django-suit,后臺就出來了,其實最初Django就是由在新聞發布公司工作的人設計的。
Flask只提供了一些核心功能,非常簡潔優雅。Flask是一個微框架,其他的由擴展提供,但Flask的blueprint使它也能夠很方便的進行水平擴展。
二、路由設計
Django的路由設計是采用集中處理的方法,利用正則匹配。Flask也能這么做,但更多的是使用裝飾器的形式,這個有優點也有缺點,優點是讀源碼時看到函數就知道怎么用的,缺點是一旦源碼比較長,要查路由就不太方便了,但這也促使使用者去思考如何更合理的安排代碼。
三、應用模塊化設計
Django的模塊化是集成在命令里的,也就是說一開始Django的目標就是為以后玩大了做準備的。每個都是一個獨立的模塊,為以后的復用提供了便利。
Flask通過Blueprint來提供模塊化,自己對項目結構劃分成不同的模塊進行組織。
四、配置
Django的配置主要還是靠settings.py來做,當然為了Development和Production環境分離,還有一些方法來處理配置。
Flask的配置很靈活,有多種方法配置,不同環境的配置也非常方便。
五、文檔
兩者都提供了詳盡的文檔,Flask的文檔風格很受大家歡迎,Django的文檔也非常優秀,當時用學Django時,就是只看了Django的文檔。
六、社區
Django社區很大,各種插件很齊全,大部分情況下都能找到想要的。
Flask起步晚,但社區也不小,之前有一次看在github上的star數,兩個相差并不遠,說明越來越多的人關注它,雖然插件沒那么全,但常用的還都是有的,而且質量都比較高。

最后再次說一下,兩個都是非常優秀的框架,很多時候選用這些框架是根據實際項目側重不同來選的




查看完整回答
反對 回復 2019-08-05
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

(1)Flask

Flask確實很“輕”,不愧是Micro Framework,從Django轉向Flask的開發者一定會如此感慨,除非二者均為深入使用過
Flask自由、靈活,可擴展性強,第三方庫的選擇面廣,開發時可以結合自己最喜歡用的輪子,也能結合最流行最強大的Python庫
入門簡單,即便沒有多少web開發經驗,也能很快做出網站
非常適用于小型網站
非常適用于開發web服務的API
開發大型網站無壓力,但代碼架構需要自己設計,開發成本取決于開發者的能力和經驗
各方面性能均等于或優于Django
Django自帶的或第三方的好評如潮的功能,Flask上總會找到與之類似第三方庫
Flask靈活開發,Python高手基本都會喜歡Flask,但對Django卻可能褒貶不一
Flask與關系型數據庫的配合使用不弱于Django,而其與NoSQL數據庫的配合遠遠優于Django
Flask比Django更加Pythonic,與Python的philosophy更加吻合
(2)Django
Django太重了,除了web框架,自帶ORM和模板引擎,靈活和自由度不夠高
Django能開發小應用,但總會有“殺雞焉用牛刀”的感覺
Django的自帶ORM非常優秀,綜合評價略高于SQLAlchemy
Django自帶的模板引擎簡單好用,但其強大程度和綜合評價略低于Jinja
Django自帶ORM也使Django與關系型數據庫耦合度過高,如果想使用MongoDB等NoSQL數據,需要選取合適的第三方庫,且總感覺Django+SQL才是天生一對的搭配,Django+NoSQL砍掉了Django的半壁江山
Django目前支持Jinja等非官方模板引擎
Django自帶的數據庫管理app好評如潮
Django非常適合企業級網站的開發:快速、靠譜、穩定
Django成熟、穩定、完善,但相比于Flask,Django的整體生態相對封閉
Django是Python web框架的先驅,用戶多,第三方庫最豐富,最好的Python庫,如果不能直接用到Django中,也一定能找到與之對應的移植
Django上手也比較容易,開發文檔詳細、完善,相關資料豐富



查看完整回答
反對 回復 2019-08-05
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

Django是基于中間件的一個大型框架??蚣鼙旧淼膬热菹喈斬S富,基礎部分:模版引擎、ORM、表單、路由分發這些標配,還有不少的中間件:登陸、后臺管理,這些還是官方中間件,另外還有不少的第三方中間件。關于第三方的我沒有詳細研究過,質量不太好評論。還有由ROR帶起的基于命令的Web開發方式和擴展、還有內建的數據庫遷移,基本上你呢想到的Django都有。可以說Django和Python相當匹配,前者是Web開發的萬金油,后者是開發領域的萬金油。
另外Django這個框架本身還有一個專門的基金會,這個基金會是由Django的母公司成立的,估計有不少用這個框架的公司也對期捐助過??蚣鼙旧硐喈敾钴S,每隔大概8個月就有一個大版本。
社區也是相當活躍,官方的Community、非官方(StackOverflow)和IRC(據說IRC是比任何一個開源項目都要活躍)基本上你碰到的問題大家都會有解決或者Workout方案



查看完整回答
反對 回復 2019-08-05
  • 4 回答
  • 0 關注
  • 614 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號