国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Django框架入門到精通(03)Django MTV和MVC的區(qū)別 (黃菊華老師大學(xué)生畢業(yè)設(shè)計學(xué)習(xí)教程)

這篇具有很好參考價值的文章主要介紹了Django框架入門到精通(03)Django MTV和MVC的區(qū)別 (黃菊華老師大學(xué)生畢業(yè)設(shè)計學(xué)習(xí)教程)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

博主介紹:《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計教育和輔導(dǎo)。
所有項目都配有從入門到精通的基礎(chǔ)知識視頻課程,免費
項目配有對應(yīng)開發(fā)文檔、開題報告、任務(wù)書、PPT、論文模版等

項目都錄了發(fā)布和功能操作演示視頻;項目的界面和功能都可以定制,包安裝運行?。。?br>在文章末尾可以獲取聯(lián)系方式

我們對 Django 的誕生以及 Web 框架的概念有了基本的了解,本節(jié)我們介紹 Django 的設(shè)計模式,也就是 MTV。

在 Web 開發(fā)領(lǐng)域還有另外一個非常著名的設(shè)計模式——MVC,它和 MTV 又有什么區(qū)別呢?這也是本節(jié)關(guān)注的重點內(nèi)容。

MVC設(shè)計模式

我們先對 MVC 設(shè)計模式進(jìn)行介紹,它是 Web 設(shè)計模式的經(jīng)典之作,MTV 模式也是在它的基礎(chǔ)上衍生而來。

MVC 是 Model-View-Controller 的縮寫,其中每個單詞都有其不同的含義:

  1. Modle 代表數(shù)據(jù)存儲層,是對數(shù)據(jù)表的定義和數(shù)據(jù)的增刪改查;
  2. View 代表視圖層,是系統(tǒng)前端顯示部分,它負(fù)責(zé)顯示什么和如何進(jìn)行顯示;
  3. Controller 代表控制層,負(fù)責(zé)根據(jù)從 View 層輸入的指令來檢索 Model 層的數(shù)據(jù),并在該層編寫代碼產(chǎn)生結(jié)果并輸出。
Django框架入門到精通(03)Django MTV和MVC的區(qū)別 (黃菊華老師大學(xué)生畢業(yè)設(shè)計學(xué)習(xí)教程),Python教程,1024程序員節(jié)
Django框架入門到精通(03)Django MTV和MVC的區(qū)別 (黃菊華老師大學(xué)生畢業(yè)設(shè)計學(xué)習(xí)教程),Python教程,1024程序員節(jié)
mvc設(shè)計模式示意圖

MVC 設(shè)計模式的請求與響應(yīng)過程描述如下:

  1. 用戶通過瀏覽器向服務(wù)器發(fā)起 request 請求,Controller 層接受請求后,同時向 Model 層和 View 發(fā)送指令;
  2. Mole 層根據(jù)指令與數(shù)據(jù)庫交互并選擇相應(yīng)業(yè)務(wù)數(shù)據(jù),然后將數(shù)據(jù)發(fā)送給 Controller 層;
  3. View 層接收到 Controller 的指令后,加載用戶請求的頁面,并將此頁面發(fā)送給 Controller 層;
  4. Controller 層接收到 Model 層和 View 層的數(shù)據(jù)后,將它們組織成響應(yīng)格式發(fā)送給瀏覽器,瀏覽器通過解析后把頁面展示出來。

MVC 的 3 層之間緊密相連,但又相互獨立,每一層的修改都不會影響其它層,每一層都提供了各自獨立的接口供其它層調(diào)用,MVC 的設(shè)計模式降低了代碼之間的耦合性(即關(guān)聯(lián)性),增加了模塊的可重用性,這就是 MVC 的設(shè)計模式。

MTV設(shè)計模式

那么 Django 的 MTV 又是怎么回事呢?下面講解 Django 的設(shè)計模式。

Django 借鑒了經(jīng)典的 MVC 模式,它也將交互的過程分為了 3 個層次,也就是 MTV 設(shè)計模式;

  1. Model:數(shù)據(jù)存儲層,處理所有數(shù)據(jù)相關(guān)的業(yè)務(wù),和數(shù)據(jù)庫進(jìn)行交互,并提供數(shù)據(jù)的增刪改查;
  2. Template:模板層(也叫表現(xiàn)層)具體來處理頁面的顯示;
  3. View:業(yè)務(wù)邏輯層,處理具體的業(yè)務(wù)邏輯,它的作用是連通Model 層和 Template 。
Django框架入門到精通(03)Django MTV和MVC的區(qū)別 (黃菊華老師大學(xué)生畢業(yè)設(shè)計學(xué)習(xí)教程),Python教程,1024程序員節(jié)
MTV設(shè)計模式示意圖

我們按照 MVC 的設(shè)計模式對 MTV 進(jìn)行分析,MTV 設(shè)計模式中,用 View 層取代了 Controller 層的位置,用 Template 層取代了原來 View 層的位置。

初次接觸 Django 的設(shè)計模式的人,可能會對 Template 層產(chǎn)生疑問,其實 Template 英文的含義就是“模板”的意思,你可以簡單理解成,它是一個 HTML 頁面 ,HTML 頁面的渲染在視圖層完成。

同樣我們也對 MTV 設(shè)計模式的請求與響應(yīng)過程進(jìn)行描述:

  1. 用戶通過瀏覽器對服務(wù)器發(fā)起 request 請求,服務(wù)器接收請求后,通過 View 的業(yè)務(wù)邏輯層進(jìn)行分析,同時向 Model 層和 Template 層發(fā)送指令;
  2. Mole 層與數(shù)據(jù)庫進(jìn)行交互,將數(shù)據(jù)返回給 View 層;
  3. Template 層接收到指令后,調(diào)用相應(yīng)的模板,并返回給 View 層;
  4. View 層接收到模板與數(shù)據(jù)后,首先對模板進(jìn)行渲染(即將相應(yīng)的數(shù)據(jù)賦值給模板),然后組織成響應(yīng)格式返回給瀏覽器,瀏覽器進(jìn)行解析后并最終呈現(xiàn)給用戶。

通過以上兩種設(shè)計模式的比較, 我們可以得出 MTV 是 MVC 的一種細(xì)化,將原來 MVC 中的 V 層拿出來進(jìn)行分離,視圖的顯示與如何顯示交給 Template 層,而 View 層更專注于實現(xiàn)業(yè)務(wù)邏輯。其實在 Django 是有 Controller 層的,只不過它由框架本身來實現(xiàn),所以我們不用關(guān)心它。Django 更關(guān)注于M、T 和 V。

本節(jié)介紹了 MTV 與 MVC 設(shè)計模式,大家理解并記憶它們,對后續(xù)的 Django 學(xué)習(xí)會有很大幫助。文章來源地址http://www.zghlxwxcb.cn/news/detail-728447.html

到了這里,關(guān)于Django框架入門到精通(03)Django MTV和MVC的區(qū)別 (黃菊華老師大學(xué)生畢業(yè)設(shè)計學(xué)習(xí)教程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • (二十五)Flask之MTV&MVC架構(gòu)模式Demo【重點:原生session使用及易錯點!】

    (二十五)Flask之MTV&MVC架構(gòu)模式Demo【重點:原生session使用及易錯點!】

    ????作者介紹:【孤寒者】—CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、HDZ核心組成員、華為云享專家Python全棧領(lǐng)域博主、CSDN原力計劃作者 ???? 本文已收錄于Flask框架從入門到實戰(zhàn)專欄 :《Flask框架從入門到實戰(zhàn)》 ???? 熱門專欄推薦 :《Python全棧系列教程》、《爬蟲從入門到精通系列

    2024年03月21日
    瀏覽(24)
  • ASP.NET Core MVC 從入門到精通之Identity入門

    ASP.NET Core MVC 從入門到精通之Identity入門

    隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,已經(jīng)越來越完善,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關(guān)內(nèi)容,適用于初學(xué)者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員。 經(jīng)過前幾篇文章的講解,初步

    2024年02月09日
    瀏覽(28)
  • Elasticsearch從入門到精通-03基本語法學(xué)習(xí)

    Elasticsearch從入門到精通-03基本語法學(xué)習(xí)

    ??作者簡介:大家好,我是程序員行走的魚 ?? 本篇主要介紹和大家一塊學(xué)習(xí)一下ES基本語法,主要包括索引管理、文檔管理、映射管理等內(nèi)容 ES對數(shù)據(jù)進(jìn)行增、刪、改、查是以Restful方式對服務(wù)端發(fā)送請求的,所以在我們學(xué)習(xí)基本語法之前先了解一下Restful是什么? REST 指的是一

    2024年03月15日
    瀏覽(25)
  • ASP.NET Core MVC 從入門到精通之布局

    ASP.NET Core MVC 從入門到精通之布局

    隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,已經(jīng)越來越完善,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關(guān)內(nèi)容,適用于初學(xué)者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員。?經(jīng)過前幾篇文章的講解,初步

    2023年04月17日
    瀏覽(31)
  • ASP.NET Core MVC 從入門到精通之路由

    ASP.NET Core MVC 從入門到精通之路由

    隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,已經(jīng)越來越完善,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關(guān)內(nèi)容,適用于初學(xué)者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員。?經(jīng)過前幾篇文章的講解,初步

    2023年04月14日
    瀏覽(40)
  • ASP.NET Core MVC 從入門到精通之緩存

    ASP.NET Core MVC 從入門到精通之緩存

    隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,已經(jīng)越來越完善,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關(guān)內(nèi)容,適用于初學(xué)者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員。 經(jīng)過前幾篇文章的講解,初步

    2024年02月10日
    瀏覽(18)
  • ASP.NET Core MVC 從入門到精通之Filter

    ASP.NET Core MVC 從入門到精通之Filter

    隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,已經(jīng)越來越完善,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關(guān)內(nèi)容,適用于初學(xué)者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員。 經(jīng)過前幾篇文章的講解,初步

    2024年02月09日
    瀏覽(24)
  • ASP.NET Core MVC 從入門到精通之日志管理

    ASP.NET Core MVC 從入門到精通之日志管理

    隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,已經(jīng)越來越完善,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關(guān)內(nèi)容,適用于初學(xué)者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員。 經(jīng)過前幾篇文章的講解,初步

    2024年02月09日
    瀏覽(22)
  • SpringMVC-2-Spring MVC攔截器詳解:從入門到精通

    SpringMVC-2-Spring MVC攔截器詳解:從入門到精通

    能夠編寫攔截器并配置攔截器 1.1 攔截器概念和作用 攔截器(Interceptor)是一種動態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動態(tài)攔截控制器方法的執(zhí)行 作用: 在指定的方法調(diào)用前后執(zhí)行預(yù)先設(shè)定的代碼 阻止原始方法的執(zhí)行 總結(jié):增強(qiáng) 核心原理:AOP思想 1.2 攔截器和過濾器的區(qū)別

    2024年02月12日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包