1. 簡介
Django,發音為[`dʒæŋɡəʊ],是用python語言寫的開源web開發框架,並遵循MVC設計。
勞倫斯出版集團為了開發以新聞內容為主的網站,而開發出來了這個框架,於2005年7月在BSD許可證下發布。
這個名稱來源於比利時的爵士音樂家DjangoReinhardt,他是一個吉普賽人,主要以演奏吉它為主,還演奏過小提琴等。
由於Django在近年來的迅速發展,應用越來越廣泛,被著名IT開發雜志SDTimes評選為2013SDTimes100,位列"API、庫和框架"分類第6位,被認為是該領域的佼佼者。
Django的主要目:簡便、快速的開發「數據庫」驅動的網站。
它強調代碼復用,多個組件可以很方便的以"插件"形式服務於整個框架,Django有許多功能強大的第三方插件,你甚至可以很方便的開發出自己的工具包。這使得Django具有很強的可擴展性。它還強調快速開發和DRY(DoNotRepeatYourself)原則。
2. 特點
1) 重量級框架
對比Flask框架,Django原生提供了眾多的功能組件,讓開發更簡便快速。
- 提供項目工程管理 自動化腳本工具
- 數據庫ORM支持(對象關系映射,英語:Object Relational Mapping)
- 模板
- 表單
- Admin管理站點
- 文件管理
- 認證權限
- session機制
- 緩存
2)MVT模式
有一種程序設計模式叫MVC,其核心思想是分工、解耦,讓不同的代碼塊之間降低耦合,增強代碼的可擴展性和可移植性,實現向后兼容。
MVC的全拼為Model-View-Controller,最早由TrygveReenskaug在1978年提出。
是施樂帕羅奧多研究中心(Xerox PARC)在20世紀80年代為程序語言Smalltalk發明的一種軟件設計模式;是為了將傳統的輸入(input)、處理(processing)、輸出(output)任務運用到圖形化用戶交互模型中而設計的。
隨着標准輸入輸出設備的出現,開發人員只需要將精力集中在業務邏輯的分析與實現上。
后來被推薦為Oracle旗下Sun公司Java EE平台的設計模式,並且受到越來越多的使用ColdFusion(ColdFusion(直譯:冷聚變),是一個動態Web服務器)和PHP的開發者的歡迎。
現在雖然不再使用原來的分工方式,但是這種分工的思想被沿用下來,廣泛應用於軟件工程中,是一種典型並且應用廣泛的軟件架構模式。后來,MVC的思想被應用在了Web開發方面,被稱為Web MVC框架。
MVC模式說明
- M全拼為Model,主要封裝對數據庫層的訪問,對數據庫中的數據進行增、刪、改、查操作。
- V全拼為View,用於封裝結果,生成頁面展示的html內容。
- C全拼為Controller,用於接收請求,處理業務邏輯,與Model和View交互,返回結果。
Django的MVT
- M全拼為Model,與MVC中的M功能相同,負責和數據庫交互,進行數據處理。
- V全拼為View,與MVC中的C功能相同,接收請求,進行業務處理,返回應答。
- T全拼為Template,與MVC中的V功能相同,負責封裝構造要返回的html。
注:差異就在於黑線黑箭頭標識出來的部分
3. Django學習資料