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