Django MTV 開發模式

2021-04-26 21:16:03 字數 1004 閱讀 3727

在鑽研更多**之前,讓我們先花點時間考慮下 django 資料驅動 web 應用的總體設計。

我們在前面章節提到過,django 的設計鼓勵松耦合及對應用程式中不同部分的嚴格分割。遵循這個理念的話,要想修改應用的某部分而不影響其它部分就比較容易了。在檢視函式中,我們已經討論了通過模板系統把業務邏輯和表現邏輯分隔開的重要性。在資料庫層中,我們對資料訪問邏輯也應用了同樣的理念。

把資料訪問邏輯、業務邏輯和表現邏輯組合在一起的概念有時被稱為軟體架構的 model-view-controller (mvc)模式。在這個模式中, model 代表資料訪問層,view 代表的是系統中選擇顯示什麼和怎麼顯示的部分,controller 指的是系統中根據使用者輸入並視需要訪問模型,以決定使用哪個檢視的那部分。

為什麼用縮寫?

像 mvc 這樣的明確定義模式的主要用於改善開發人員之間的溝通。與其告訴同事:「讓我們對資料訪問進行抽象,用單獨一層負責資料顯示,然後在中間放置一層來進行控制」,還不如利用通用的詞彙告訴他們:「讓我們在這裡使用 mvc 模式吧」。

django 緊緊地遵循這種 mvc 模式,可以稱得上是一種 mvc 框架。以下是 django 中 m、v 和 c 各自的含義:

由於 c 由框架自行處理,而 django 裡更關注的是模型(model)、模板(template)和檢視(views),django 也被稱為mtv 框架 。在 mtv 開發模式中:

如果你熟悉其它的 mvc web開發框架,比方說 ruby on rails,你可能會認為 django 檢視是控制器,而 django 模板是檢視。很不幸,這是對 mvc 不同詮釋所引起的錯誤認識。在 django 對 mvc 的詮釋中,檢視用來描述要展現給使用者的資料;不是資料看起來 怎麼樣 ,而是要呈現 哪些 資料。相比之下,ruby on rails 及一些同類框架提倡控制器負責決定向使用者展現哪些資料,而檢視則僅決定 如何 展現資料,而不是展現 哪些 資料。

兩種詮釋中沒有哪個更加正確一些。重要的是要理解底層概念。

Django MTV模式詳解

出自 在正式開始coding之前,我覺得有必要 下django的mtv模式,理論和實踐相結合,才能更好的掌握一門技術。首先說說web伺服器開發領域裡著名的mvc模式,所謂mvc就是把web應用分為模型 m 控制器 c 和檢視 v 三層,他們之間以一種外掛程式式的 松耦合的方式連線在一起,模型負責業務...

Django MTV模式學習

出自 在正式開始coding之前,我覺得有必要 下django的mtv模式,理論和實踐相結合,才能更好的掌握一門技術。首先說說web伺服器開發領域裡著名的mvc模式,所謂mvc就是把web應用分為模型 m 控制器 c 和檢視 v 三層,他們之間以一種外掛程式式的 松耦合的方式連線在一起,模型負責業務...

Django MTV 模版語句

1.1mvc框架 model view controller 全名是model view controller 是軟體工程中的一種軟體架構模式,把軟體分為三個基本部分 模型 model 檢視 view 和控制器 controller 具有耦合性低,重用性高,宣告週期成本低等優點。最上層 是檢視層 v...