Django
Django是一个開放原始碼的 Web 應用框殼,由 Python 寫做。採用矣 MTV ( model–template–views ) 的軟體設計模式,即模型(Model), 視圖(View)佮模板(Template)。 伊佇咧開發初期用佇咧管理勞倫斯出版集團旗下的一寡以新聞為主的網站。Django 佇二空空五年七月 BSD 授權條款之下釋出,伊的名來是比利時的吉普賽爵士 gì-tà 手金格 ・ 萊恩哈特。
Django 的主要目標是簡化資料庫驅動的網站的開發。Django 注重組件的重用性佮「會當插拔性」,敏捷開發佮 DRY 法則(Don't Repeat Yourself)。 佇咧 Django 中普遍使用的語言是 Python,甚至包括設定檔佮資料模型。
Django 佇二空空八年六月十七正式成立基金會。
組件
Django 框架的核心包括講:一个物件關係對映器,用做資料模型(以 Python 類彼个形式定義)佮關聯型資料庫間的媒介;一个是正正表示式的 URL 分發器;一个視圖系統,用佇咧處理請求;猶閣有一个模板的系統。
核心框架內底猶閣包括:
- 一个輕量級的、獨立的 Web 侍服器,用佇咧開發佮測試。
- 一个表單序列化佮驗證系統,用佇咧 HTML 表單佮適合資料庫儲存的資料之間的轉換。
- 一个緊取框殼,閣有幾種緊取方式會當供選擇。
- 中介軟體支援,允准對請求處理每一个階段進行干涉。
- 內建的分發系統允准應用程式中的組件採用預定義的訊號進行互相互間的通信。
- 一个序列化系統,會當生抑是讀採用 XML 抑是 JSON 表示的 Django 模型實例。
- 一个用於擴充模板 ia̋n-jín 的能力的系統。
內建應用
Django 包括著真濟應用佇咧伊的 ` contrib ` 包著,遮的包括:
- 一个會當延伸的認證系統
- 動態站點管理頁面
- 一組產生 RSS 和 Atom 的工具
- 一个靈活的評論系統
- 產生 Google 徛點地圖(Google Sitemaps)的工具
- 防止跨站請求偽造(cross-site request forgery)的工具
- 一套支援輕量級標記式語言(Textile 和 Markdown)的枋模庫
- 一套協助建立地理資訊系統(GIS)的基礎框殼
服務的部署
Django 會當執行咧啟用矣 ` mod _ python ` 的 Apache 二上,抑是任何 WSGI 相容的 Web 侍服器。Django 嘛有啟動 FastCGI 服務的能力,所致會當應用任何支援 FastCGI 的機器上。
下列資料庫 ia̋n-jín 予被 Django 官方支援:
- PostgreSQL
- MariaDB
- MySQL
- SQLite
- Oracle
Microsoft SQL Server 配接器當咧開發,佇咧試驗階段。(註:SQL Server 的支援佇咧一鋪排版本內底已經予完全去除)
自 Django 一孵空起來,已經會當利用 Jython 阮這馬執行佇任何 J 二 EE 侍服器。除 CPython 外,Django 目前官方支援使用 Jython 二嬸七 b 二二的行,毋過無保證佮 CPython 上的行為完全相容,嘛是按算一寡功能(如使用 Pillow 的部份)是無法度使用。
參考資料
外部連結
- 官方網站
- Django 的模組列表(英文)
- 使用 Django 構建的網站列表(英文)