2 回答

TA貢獻1798條經(jīng)驗 獲得超3個贊
我直接在 Django 的常見問題解答中找到了這個問題的部分答案
為方便起見,直接在這里引用:
Django 看起來是一個 MVC 框架,但是您將 Controller 稱為“視圖”,而將 View 稱為“模板”。你怎么不使用標準名稱?
好吧,標準名稱是有爭議的。在我們對 MVC 的解釋中,“視圖”描述了呈現(xiàn)給用戶的數(shù)據(jù)。不一定是數(shù)據(jù)的外觀,而是呈現(xiàn)哪些數(shù)據(jù)。該視圖描述了您看到的數(shù)據(jù),而不是您如何查看它。這是一個微妙的區(qū)別。因此,在我們的例子中,“視圖”是特定 URL 的 Python 回調(diào)函數(shù),因為該回調(diào)函數(shù)描述了呈現(xiàn)的數(shù)據(jù)。此外,將內(nèi)容與呈現(xiàn)分開是明智的——這就是模板的用武之地。在 Django 中,“視圖”描述了呈現(xiàn)哪些數(shù)據(jù),但視圖通常委托給模板,模板描述了數(shù)據(jù)的呈現(xiàn)方式。那么,“控制器”在哪里?在 Django 的例子中,它可能是框架本身:將請求發(fā)送到適當視圖的機器,根據(jù) Django URL 配置。如果你渴望縮寫詞,你可能會說 Django 是一個“MTV”框架——即“模型”、“模板”和“視圖”。這種崩潰更有意義。歸根結(jié)底,歸根結(jié)底是把事情做好。而且,無論事物如何命名,Django 都會以對我們來說最合乎邏輯的方式完成工作。

TA貢獻1725條經(jīng)驗 獲得超8個贊
Django 是一個基于 MVT 的框架。其中“M”代表模型,“V”代表視圖,“T”代表模板
Model:Model是整個應(yīng)用程序背后的邏輯數(shù)據(jù)結(jié)構(gòu),以數(shù)據(jù)庫(一般是MySql、Postgres等關(guān)系型數(shù)據(jù)庫)為代表。
視圖:視圖是Django 架構(gòu)的主要功能部分,我們在其中編寫業(yè)務(wù)邏輯,負責(zé)根據(jù)客戶端輸入的請求和響應(yīng)。
模板:通過名稱本身,它顯示了它的行為。模板是用于在 Web 瀏覽器上表示 HTML 頁面的部分。
如果您想了解有關(guān)django mvt 架構(gòu)的更具體的詳細信息,您可以參考這篇文章,我覺得這篇文章很好,他們用圖表表示Django MVT Architecture很好地解釋了
添加回答
舉報