Django
此條目需要補充更多來源。 (2020年11月1日) |
原作者 | 勞倫斯出版集團 |
---|---|
開發者 | Django軟件基金會 |
首次釋出 | 2005年7月21日 |
目前版本 |
|
原始碼庫 | github |
程式語言 | Python |
類型 | Web應用框架 |
特許條款 | BSD特許條款 |
網站 | www |
Django(/ˈdʒæŋɡoʊ/)是一個開放原始碼的Web應用框架,由Python寫成。採用了MTV(model–template–views)的軟件設計模式,即模型(Model),視圖(View)和模板(Template)。它在開發初期用於管理勞倫斯出版集團旗下的一些以新聞為主的網站。Django於2005年7月在BSD特許條款下釋出,它的名字來源於比利時的吉普賽爵士結他手金格·萊恩哈特。
Django的主要目標是簡化資料庫驅動的網站的開發。Django注重組件的重用性和「可插拔性」,敏捷開發和DRY法則(Don't Repeat Yourself)。在Django中普遍使用的語言是Python,甚至包括設定檔和數據模型。
Django於2008年6月17日正式成立基金會。
組件
[編輯]Django框架的核心包括:一個對象關係對映器,用作數據模型(以Python類的形式定義)和關聯型資料庫間的媒介;一個基於正則表達式的URL分發器;一個視圖系統,用於處理請求;以及一個模板系統。
核心框架中還包括:
- 一個輕量級的、獨立的Web伺服器,用於開發和測試。
- 一個表單序列化及驗證系統,用於HTML表單和適於資料庫儲存的數據之間的轉換。
- 一個快取框架,並有幾種快取方式可供選擇。
- 中介軟體支援,允許對請求處理的各個階段進行干涉。
- 內建的分發系統允許應用程式中的組件採用預定義的訊號進行相互間的通訊。
- 一個序列化系統,能夠生成或讀取採用XML或JSON表示的Django模型實例。
- 一個用於擴充模板引擎的能力的系統。
內建應用
[編輯]Django 包含了很多應用在它的contrib
包中,這些包括:
- 一個可延伸的認證系統
- 動態站點管理頁面
- 一組產生RSS和Atom的工具
- 一個靈活的評論系統
- 產生Google站點地圖(Google Sitemaps)的工具
- 防止跨站請求偽造(cross-site request forgery)的工具
- 一套支援輕量級標記式語言(Textile和Markdown)的模板庫
- 一套協助建立地理資訊系統(GIS)的基礎框架
服務的部署
[編輯]Django可以執行在啟用了mod_python
的Apache 2上,或是任何WSGI相容的Web伺服器。Django也有啟動FastCGI服務的能力,因此能夠應用於任何支援FastCGI的機器上。
下列資料庫引擎被Django官方支援[2]:
Microsoft SQL Server的配接器正在開發中,處於試驗階段。(註:SQL Server的支援在1.0版本中已經被完全去除)
自Django 1.0起,已經可以利用Jython執行在任何J2EE伺服器。除CPython外,Django目前官方支援使用Jython 2.7b2運行,但不保證與CPython上的行為完全相容,並應預期一些功能(如使用Pillow的部分)無法使用。[3]
參考資料
[編輯]- ^ Release 5.1.2. 2024年10月8日 [2024年10月21日].
- ^ 数据库 | Django 文档 | Django. [2021-05-30]. (原始內容存檔於2021-05-30) (中文(簡體)).
- ^ Running Django on Jython. [2016-08-07]. (原始內容存檔於2016-08-11).
外部連結
[編輯]- 官方網站
- Django的模組列表(頁面存檔備份,存於互聯網檔案館)(英文)
- 使用Django構建的網站列表(頁面存檔備份,存於互聯網檔案館)(英文)