猿问

Django 是 MVC 还是 MVT 框架?

我想知道 Django 是 MVC 还是 MVT 框架?我在网上搜索了这个问题,但没有找到任何合适或令人满意的答案。


BIG阳
浏览 405回答 2
2回答

呼如林

我直接在 Django 的常见问题解答中找到了这个问题的部分答案https://docs.djangoproject.com/en/3.1/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names为方便起见,直接在这里引用:Django 看起来是一个 MVC 框架,但是您将 Controller 称为“视图”,而将 View 称为“模板”。你怎么不使用标准名称?好吧,标准名称是有争议的。在我们对 MVC 的解释中,“视图”描述了呈现给用户的数据。不一定是数据的外观,而是呈现哪些数据。该视图描述了您看到的数据,而不是您如何查看它。这是一个微妙的区别。因此,在我们的例子中,“视图”是特定 URL 的 Python 回调函数,因为该回调函数描述了呈现的数据。此外,将内容与呈现分开是明智的——这就是模板的用武之地。在 Django 中,“视图”描述了呈现哪些数据,但视图通常委托给模板,模板描述了数据的呈现方式。那么,“控制器”在哪里?在 Django 的例子中,它可能是框架本身:将请求发送到适当视图的机器,根据 Django URL 配置。如果你渴望缩写词,你可能会说 Django 是一个“MTV”框架——即“模型”、“模板”和“视图”。这种崩溃更有意义。归根结底,归根结底是把事情做好。而且,无论事物如何命名,Django 都会以对我们来说最合乎逻辑的方式完成工作。

qq_遁去的一_1

Django 是一个基于 MVT 的框架。其中“M”代表模型,“V”代表视图,“T”代表模板Model:Model是整个应用程序背后的逻辑数据结构,以数据库(一般是MySql、Postgres等关系型数据库)为代表。视图:视图是Django 架构的主要功能部分,我们在其中编写业务逻辑,负责根据客户端输入的请求和响应。模板:通过名称本身,它显示了它的行为。模板是用于在 Web 浏览器上表示 HTML 页面的部分。如果您想了解有关django mvt 架构的更具体的详细信息,您可以参考这篇文章,我觉得这篇文章很好,他们用图表表示Django MVT Architecture很好地解释了
随时随地看视频慕课网APP

相关分类

Python
我要回答