Django是一個開放原始碼的Web應用框架,由Python寫成。採用了MVC的軟體設計模式,即模型M,視圖V和控制器C。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的。並於2005年7月在BSD許可證下發布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。
Django的主要目標是使得開發複雜的、資料庫驅動的網站變得簡單。 Django注重元件的重用性和“可插拔性”,敏捷開發和DRY法則(Don't Repeat Yourself)。在Django中Python被普遍使用,甚至包括設定檔和資料模型。
Django 於 2008年6月17日正式成立基金會。
Django框架的核心包括:一個物件導向的映射器,用作資料模型(以Python類別的形式定義)和關聯性資料庫間的媒介;一個基於正規表示式的URL分發器;一個視圖系統,用於處理請求;以及一個範本系統。
核心框架中還包括:
一個輕量級的、獨立的Web伺服器,用於開發和測試。
一個表單序列化及驗證系統,用於HTML表單和適於資料庫儲存的資料之間的轉換。
一個快取框架,並有幾種快取方式可供選擇。
中間件支持,允許對請求處理的各個階段進行干涉。
內建的分發系統允許應用程式中的元件採用預先定義的訊號進行相互間的通訊。
一個序列化系統,能夠產生或讀取採用XML或JSON表示的Django模型實例。
一個用於擴展模板引擎的能力的系統。
Django 包含了很多應用在它的"contrib"包中,這些包括:
一個可擴展的認證系統
動態站點管理頁面
一個靈活的工具評論系統
產生Google 網站地圖(Google Sitemaps)的工具
防止跨站請求偽造(cross-site request forgery)的工具
一套支援輕量級標記語言(Textile和Markdown)的範本庫
一套協助建立地理資訊系統(GIS)的基礎架構
Django 可以運作在啟用了mod python 的Apache 2 上,或是任何WSGI相容的Web伺服器。 Django也有啟動FastCGI服務的能力,因此能夠應用於任何支援FastCGI的機器。