Django是一個開放原始碼的Web套用框架,由Python寫成。採用了MTV的框架模式,即模型M,視圖V和模版T。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟體。並於2005年7月在BSD許可證下發布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。
基本介紹
- 中文名:Django
- 外文名:Django
- 程式語言:Python
- 特性:ORM、URL分發系統、MTV
- 最新版本:2.2(2019-4)
框架介紹
- 用於創建模型的對象關係映射
- 為最終用戶設計的完美管理界面
- 一流的 URL 設計
- 設計者友好的模板語言
- 快取系統。
架構設計
層次 | 職責 |
模型(Model),即數據存取層 | 處理與數據相關的所有事務: 如何存取、如何驗證有效性、包含哪些行為以及數據之間的關係等。 |
模板(Template),即表現層 | 處理與表現相關的決定: 如何在頁面或其他類型文檔中進行顯示。 |
視圖(View),即業務邏輯層 | 存取模型及調取恰當模板的相關邏輯。模型與模板的橋樑。 |
設計哲學
- 對象關係映射 (ORM,object-relational mapping):以Python類形式定義你的數據模型,ORM將模型與關係資料庫連線起來,你將得到一個非常容易使用的資料庫API,同時你也可以在Django中使用原始的SQL語句。
- URL 分派:使用正則表達式匹配URL,你可以設計任意的URL,沒有框架的特定限定。像你喜歡的一樣靈活。
- 模版系統:使用Django強大而可擴展的模板語言,可以分隔設計、內容和Python代碼。並且具有可繼承性。
- 表單處理:你可以方便的生成各種表單模型,實現表單的有效性檢驗。可以方便的從你定義的模型實例生成相應的表單。
- Cache系統:可以掛在記憶體緩衝或其它的框架實現超級緩衝 -- 實現你所需要的粒度。
- 會話(session),用戶登錄與許可權檢查,快速開發用戶會話功能。
- 國際化:內置國際化系統,方便開發出多種語言的網站。
- 自動化的管理界面:不需要你花大量的工作來創建人員管理和更新內容。Django自帶一個ADMIN site,類似於內容管理系統
工作機制
部署
文檔
- First steps,提供一個快速起步的教程,可以很快開始使用Django
- The model layer,介紹Django的抽象模型層
- The view layer,介紹Django的視圖層
- The template layer,介紹Django的模板層
- Forms,介紹Django提供的一系列用於幫助使用表單的工具
- The development process,介紹Django提供的一系列用於開發和測試的工具
- The admin,介紹Django提供的用於站點、內容管理的工具
- Security,介紹Django提供的用於站點安全控制的工具
- Internationalization and localization,介紹Django提供的用於全球化和本地化的工具
- Performance and optimization,介紹Django提供的用於性能和最佳化的方面的工具以及建議
- Python compatibility,介紹Django在不同Python環境下的兼容性(Jython和Python 3)
- Geographic framework,介紹Django提供的地理位置相關的工具
- Common web application tools,介紹Django提供的一些常用的Web應用程式工具(比如RSS等)
- Other core functionalities,介紹Django提供的其它重要工具(比如跳轉、路由等等)
- The django open source project,介紹Django作為開源項目的一些內容,比如設計哲學,如何參與開發等等。