03.07 想學習python做後端,有人推薦django有人推薦flask,二者有啥區別呢?

野火吹風



Flask

  1. Flask確實很“輕”,不愧是Micro Framework,從Django轉向Flask的開發者一定會如此感慨,除非二者均為深入使用過

  2. Flask自由、靈活,可擴展性強,第三方庫的選擇面廣,開發時可以結合自己最喜歡用的輪子,也能結合最流行最強大的Python庫
  3. 入門簡單,即便沒有多少web開發經驗,也能很快做出網站
  4. 非常適用於小型網站
  5. 非常適用於開發web服務的API
  6. 開發大型網站無壓力,但代碼架構需要自己設計,開發成本取決於開發者的能力和經驗各方面性能均等於或優於Django
  7. Django自帶的或第三方的好評如潮的功能,Flask上總會找到與之類似第三方庫
  8. Flask靈活開發,Python高手基本都會喜歡Flask,但對Django卻可能褒貶不一
  9. Flask與關係型數據庫的配合使用不弱於Django,而其與NoSQL數據庫的配合遠遠優於Django
  10. Flask比Django更加Pythonic,與Python的philosophy更加吻合


Django

  1. jango太重了,除了web框架,自帶ORM和模板引擎,靈活和自由度不夠高

  2. Django能開發小應用,但總會有“殺雞焉用牛刀”的感覺
  3. Django的自帶ORM非常優秀,綜合評價略高於SQLAlchemy
  4. Django自帶的模板引擎簡單好用,但其強大程度和綜合評價略低於Jinja
  5. Django自帶ORM也使Django與關係型數據庫耦合度過高,如果想使用MongoDB等NoSQL數據,需要選取合適的第三方庫,且總感覺Django+SQL才是天生一對的搭配,Django+NoSQL砍掉了Django的半壁江山
  6. Django目前支持Jinja等非官方模板引擎
  7. Django自帶的數據庫管理app好評如潮
  8. Django非常適合企業級網站的開發:快速、靠譜、穩定
  9. Django成熟、穩定、完善,但相比於Flask,Django的整體生態相對封閉
  10. Django是Python web框架的先驅,用戶多,第三方庫最豐富,最好的Python庫,如果不能直接用到Django中,也一定能找到與之對應的移植

  11. Django上手也比較容易,開發文檔詳細、完善,相關資料豐富

IT宅男


如果你是一個人開發,並且想高效率,聽我的,必須用 django ,省心省時省力,django 確實大而全,但是開發起來快啊,操心最少,再說了服務器上又不缺那麼幾十M的空間。


Johnny33878


1、Django是一款重量級的Python開發web框架,功能齊全,不同的人用Django來開發,開發出來的東西基本架構都是一樣的,但是Flask是一個輕量級的web框架,相對來說更加靈活,每個人開發出來的東西架構可能完全不一樣,

所以對於團隊級別的大型項目來說,比較適合選擇Django,因為整個團隊比較容易達成一致的架構,不會陷入無休止的會議討論,裡面很多東西不需要自己設計,拿來即用,快速開發。

而對於個人開發的小項目來說,也可以用Django,也可以用Flask,用Flask的話,可以設計自己的項目架構,不必拘泥於Django的固定模式。但是對於經驗少的開發者來說,這裡就比較困難了

2、Flask對於加深Python學習有很大幫助,因為Flask不像Django很多東西都是現成的,需要自己去寫

3、Django對新手來說比Flask容易上手,正是因為靈活性的原因


科技引領時間


Django就是一個標配的廚房,電飯煲、微波爐、灶臺、洗手盤等一應俱全,有菜就可以做;Flask是一個空間,空間旁邊也有電磁爐、微波爐、電飯煲這些,你需要就自己拿過去這個空間裡用。如果你想炒個面,可能廚房有點大材小用,你就在空間旁邊拿個電磁爐過去用一下就好。當然你用廚房也不是不行,你開心就好。


每天知道多一些


django是一個功能全面的開發框架,自己就包含了模板、對象關係映射(ORM)、數據庫訪問、權限控制等等開發一個應用所需的大部分功能。可以說學會了它,基本上就可以用Python做東西了。不過相應的,django的缺點就是比較重,如果你要做的東西不是很大,可能會感覺用django就是大炮打蚊子。


flask就相對輕量級很多了,專注於處理http的這些基本功能。如果你只想弄幾個網頁,後臺套點SQL,可能flask就是最適合的了。不過用flask也不用太擔心用起來不方便,現在有很多針對flask開發的模塊,協助完成數據庫、權限、等等各方面。你用到什麼功能,就去尋找對應的flask模塊導入到項目中。這樣項目不會很大,而且開發也很方便。


當然如果有餘力的話,最好兩個都學一學,作為Python web領域幾個最著名的框架,學了肯定對自己的技術有很多幫助的。


分享到:


相關文章: