1. 程式人生 > >Django與Flask的比較

Django與Flask的比較



(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上手也比較容易,開發文件詳細、完善,相關資料豐富