Django

Python编程语言的Web开发框架

Django/ˈæŋɡ/)是一個開放原始碼Web應用框架,由Python寫成。採用了MTV(model–template–views)的軟體設計模式,即模型(Model),視圖(View)和模板(Template)。它在開發初期用於管理勞倫斯出版集團英語Lawrence Journal-World旗下的一些以新聞為主的網站。Django於2005年7月在BSD授權條款下釋出,它的名字來源於比利時吉普賽爵士吉他手金格·萊恩哈特

Django
預設的Django頁面
預設的Django頁面
原作者勞倫斯出版集團英語Lawrence Journal-World
開發者Django軟體基金會英語Django Software Foundation
首次釋出2005年7月21日 (2005-07-21)
目前版本
  • 5.1.2(2024年10月8日;穩定版本)[1]
編輯維基數據鏈結
原始碼庫github.com/django/django
程式語言Python
類型Web應用框架
授權條款BSD授權條款
網站www.djangoproject.com

Django的主要目標是簡化資料庫驅動的網站的開發。Django注重組件的重用性和「可插拔性」,敏捷開發DRY法則(Don't Repeat Yourself)。在Django中普遍使用的語言是Python,甚至包括設定檔和資料模型。

Django於2008年6月17日正式成立基金會。

組件

編輯

Django框架的核心包括:一個對象關係對映器,用作資料模型(以Python的形式定義)和關聯型資料庫間的媒介;一個基於正規表示式URL分發器;一個視圖系統,用於處理請求;以及一個模板系統。

核心框架中還包括:

  • 一個輕量級的、獨立的Web伺服器,用於開發和測試。
  • 一個表單序列化及驗證系統,用於HTML表單和適於資料庫儲存的資料之間的轉換。
  • 一個快取框架,並有幾種快取方式可供選擇。
  • 中介軟體支援,允許對請求處理的各個階段進行干涉。
  • 內建的分發系統允許應用程式中的組件採用預定義的訊號進行相互間的通訊。
  • 一個序列化系統,能夠生成或讀取採用XMLJSON表示的Django模型實例。
  • 一個用於擴充模板引擎的能力的系統。

內建應用

編輯

Django 包含了很多應用在它的contrib包中,這些包括:

  • 一個可延伸的認證系統
  • 動態站點管理頁面
  • 一組產生RSS和Atom的工具
  • 一個靈活的評論系統
  • 產生Google站點地圖(Google Sitemaps)的工具
  • 防止跨站請求偽造(cross-site request forgery)的工具
  • 一套支援輕量級標記式語言(Textile和Markdown)的模板庫
  • 一套協助建立地理資訊系統(GIS)的基礎框架

服務的部署

編輯

Django可以執行在啟用了mod_pythonApache 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]

參考資料

編輯
  1. ^ Release 5.1.2. 2024年10月8日 [2024年10月21日]. 
  2. ^ 数据库 | Django 文档 | Django. [2021-05-30]. (原始內容存檔於2021-05-30) (中文(簡體)). 
  3. ^ Running Django on Jython. [2016-08-07]. (原始內容存檔於2016-08-11). 

外部連結

編輯