Django

此條目需要補充更多來源。 (2020年11月1日) |
![]() | |
![]() 預設的Django頁面 | |
原作者 | 勞倫斯出版集團 |
---|---|
開發者 | 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.6. 2025年2月5日 [2025年2月21日].
- ^ 数据库 | Django 文档 | Django. [2021-05-30]. (原始內容存檔於2021-05-30) (中文(簡體)).
- ^ Running Django on Jython. [2016-08-07]. (原始內容存檔於2016-08-11).
外部連結
[編輯]- 官方網站
- Django的模塊列表(頁面存檔備份,存於網際網路檔案館)(英文)
- 使用Django構建的網站列表(頁面存檔備份,存於網際網路檔案館)(英文)