Django是一個基於python的網頁框架,遵循類似MVC(Model-View-Controller)的MTV(Model-Template-View)架構。Django擅長後台的開發,簡單的動態或是靜態網站設計以及輕量的API開發(不考慮第三方庫),而隨著更支援非同步系統,豐富的第三方庫讓Django依然是在網頁開發上以及API設計的選擇之一。
在前端頁面方面,Django使用Django template language (DTL)以及Jinja2輔助開發,也能整合常見的CSS框架(Tailwind, Bootstrap),或是HTMX等輕量化的函式庫。
後端方面則是透過ORM與資料庫打交道,並且可以在Models中額外添加CRUD觸發時的邏輯。除了原生的View(視圖)可以滿足輕量的API開發與邏輯處理外,也有DRF等套件來完善API的設計與安全性,是一個非常強大的"batteries included”框架。
Django是基於python的web框架,雖然早在2005就推出,但是直到2024年仍然是非常穩定且可靠的框架之一,也有許多公司依然使用Django進行開發
Django在大型項目中的優勢更加明顯,特別是在需要快速開發和維護的企業級應用中。
隨著Django對非同步的支持不斷增強,這個差距正在縮小。但在調查中可以看出,在處理非同步部分還是不少人更偏好使用FastAPI。但在ORM相關部分,FastAPI就沒有內建的ORM語法,需要額外使用其他框架或是套件。
Django本來因為其方便的ORM以及DRF或是Django Ninga等第三方套件,所以很適合與三大前端框架進行協作。並且即使是像Nuxt與Next這樣接近全端的框架,因為Dajngo具備ORM、方便的admin以及認證與安全系統,所以這樣的前後端分離還是很合理並且具備一定優勢的開發模式。
非同步在建立規模大且動態的網頁應用非常重要,相比於3.x版的Django,Django在4.1版擴展了非同步的ORM操作。Django 3.0引入了ASGI支持,加強對websocket的原生支持,結合Django Channels可以做出實時數據更新的應用(即時通知、聊天室)
微服務盛起,Django雖然沒有內置微服務的架構,但是透過一些第三方套件能彌補其中的不足
隨著AI崛起,Django也是構建AI web應用的理想平台,因為具備處理高流量與數據密集的AI應用,並且能輕鬆集成python的相關庫(TensorFlow, PyTorch)
進入2024年,Django依然是現代Web開發的全能選手。它的穩定性、全面性和強大的生態系統使其在網頁開發中占據重要地位。雖然面臨來自輕量級框架和專用API框架的挑戰,但Django通過不斷創新和適應新技術趨勢,繼續保持其獨特的優勢。