django - 为什么 django 被表示为“MTV”模式?
问题描述
在 django文档中,他们提到
在我们对 MVC 的解释中,“视图”描述了呈现给用户的数据。不一定是数据的外观,而是呈现哪些数据。该视图描述了您看到的数据,而不是您如何查看它。这是一个微妙的区别。
...
因此,在我们的例子中,“视图”是特定 URL 的 Python 回调函数,因为该回调函数描述了呈现的数据。
...
那么,“控制器”在哪里?在 Django 的例子中,它可能是框架本身:根据 Django URL 配置向适当视图发送请求的机器。
是的,我完全同意他们的观点retrieve
。但是,在修改(或删除)数据的情况下,我不能同意他们提到的内容。因为一般来说我已经实现view
了。哪个不处理“存在哪些数据”而是“控制数据”。从这个意义上说,(django 说)不是被称为 a ,而是我认为的那样。modify
delete
view
view
controller
还是我view
以错误的方式实施?请让我知道 django 的“MTV”的详细信息。
解决方案
对于 Django,View 和 Controller 部分之间没有明显的边界,但 View 和 Template 部分之间有明显的边界。对于许多其他 MVC 框架,情况正好相反。这就是为什么对于其他技术上的 MVCT 框架,它们的类型名称被简化为 MVC(视图和模板一起形成视图),而对于 Django,它是 MVT(视图和控制器一起形成视图)。这是我对那种类型命名方案的理解。但不要太执着于它。当您使用 django-rest-framework 之类的东西时,这仍然非常模糊且不正确。
推荐阅读
- unity3d - 如何为 Unity 映射我的搅拌机环境?
- r - 为什么在 R 中使用 tfestimators 包时出现此错误?
- javascript - className 元素上的事件侦听器,React Js
- python - 问:我如何为我的平台游戏制作收集币?
- ios - 如何使 ScrollView 中的图像表现得像 MapView
- javascript - MongoDB .push 返回 null
- python - 用户输入错误的变量类型后,我无法更改“buyTickets”变量
- java - Android : 更新汽车音响数据
- laravel - Laravel 7- AWS - 运行“php artisan migrate”时出现 Elastic Beanstalk + RDS 错误
- python - 如何从 Python 程序中的数据集中动态绘制现有点