Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MTV的框架模式,即模型M,視圖V和模版T。它最初是被開發(fā)來用于管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統(tǒng))軟件。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。
Django是一個高層次的 Python Web 框架,它是一個鼓勵快速開發(fā)和干凈,實用的框架設計。Django可以更容易地快速構建更好的Web應用程序,并且它使用更少的代碼。
注意 ? Django是Django 軟件基金會的一個注冊商標,并在BSD許可證授權。
2003 ? 開始時,由Adrian Holovaty和Simon Willison 將其作為勞倫斯雜志 - 世界報紙的一個內部項目。
2005 ? 把它命名為Django發(fā)布2005年7月,在爵士吉他手Django Reinhardt 之后。
2005 ? 成熟到可以處理多個高流量網站。
2019年12月2日,Django 3. 0發(fā)布。
當前 ? Django是由世界各地的貢獻者來開發(fā)的一個開源項目。
Django自帶了以下設計原則:
松耦合 ? Django的目的是使其堆棧中的每個元素獨立于其他。
較少編碼 ? 較少代碼,所以能迅速的開發(fā)。
不必再重復(DRY) ? 一切都應只在一個地方,而不是一次又一次地重復來開發(fā)它。
更快的開發(fā) ? Django的理念是盡一切所能,便于超高速開發(fā)。
干凈的設計 ? Django嚴格維護一個干凈的設計在其自己的代碼,并可以很容易地遵循最佳Web開發(fā)實踐。
下面是使用 Django 列出一些優(yōu)勢:
對象關系映射(ORM)支持 ? Django提供數據模型和數據庫引擎之間的橋梁, 并支持大量的數據庫系統(tǒng),包括MySQL, Oracle, Postgres等等。在Django中還支持通過Django-nonrel 支持 NoSQL 數據庫。
現在,唯一的NoSQL數據庫方面支持是MongoDB和谷歌應用程序引擎。
多種語言支持 ? Django通過其內置的國際化系統(tǒng)支持多語種網站。所以,可以開發(fā)支持多國語言的網站。
框架支持 ? Django內置了對Ajax,RSS,緩存和其他各種框架的支持。
管理GUI ? Django提供用于管理活動的一個很好的用戶界面。
開發(fā)環(huán)境 ? Django自帶了一個輕量級的Web服務器,方便終端到終端應用的開發(fā)和測試。