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.3(2024年11月5日;穩定版本)[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.3. 2024年11月5日 [2024年11月13日]. 
  2. ^ 数据库 | Django 文档 | Django. [2021-05-30]. (原始內容存檔於2021-05-30) (中文(簡體)). 
  3. ^ Running Django on Jython. [2016-08-07]. (原始內容存檔於2016-08-11). 

外部連結

編輯