为什么django被表示为“ MTV”模式?

时间:2019-02-22 08:38:27

标签: django model-view-controller

在django documentation,他们提到了

  

在我们对MVC的解释中,“视图”描述了呈现给用户的数据。不一定是数据的外观,而是要显示的数据。该视图描述的是您看到的数据,而不是如何查看。这是一个微妙的区别。

     

...

     

因此,在我们的示例中,“视图”是特定URL的Python回调函数,因为该回调函数描述了要显示的数据。

     

...

     

那么“控制器”放在哪里?在Django的情况下,可能是框架本身:根据Django URL配置将请求发送到适当视图的机器。

是的,对于view,我完全同意。但是,在某些情况下修改(或删除)数据时,我不同意他们提到的内容。因为通常我也已经将modify实施为deleteview。哪个不处理“存在哪些数据”,而是“控制数据”。从这个意义上讲,view(django说)不是我所说的controller,而是我所说的view

还是我以错误的方式实现了 Function_Name(argument1, argument2)  ?请让我知道django的“ MTV”的详细信息。

1 个答案:

答案 0 :(得分:1)

对于Django,在View和Controller部分之间没有明显的边界,但在View和Template部分之间有明显的边界。对于许多其他MVC框架,则是相反的情况。这就是为什么对于其他技术上为MVCT框架的类型名称简化为MVC(视图和模板共同构成视图),而对于Django,它的名称简化为MVT(视图和控制器共同构成视图)的原因。这是我对类型命名方案的理解。但是不要太挂了。当您使用诸如django-rest-framework之类的东西时,这仍然非常模糊并且不正确。