为什么Django称它为“views.py”而不是控制器?

时间:2011-03-09 17:33:50

标签: python django

  

可能重复:
  Confused by Django's claim to MVC, what is it exactly?

因为在MVC中,“视图”通常是模板......

3 个答案:

答案 0 :(得分:25)

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?

  

嗯,标准名称是   有争议的。

     

在我们对MVC的解释中,   “view”描述了获得的数据   呈现给用户。不是   必然是数据的外观,但是   提供哪些数据。风景   描述您看到的数据,而不是如何   你看到了这是一个微妙的区别。

     

所以,在我们的例子中,“视图”是   Python的回调函数   特定的URL,因为该回调   函数描述了哪些数据   呈现。

     

此外,分开是明智的   来自演示的内容 - 即   模板进来的地方。在Django,a   “view”描述了哪些数据   提出,但通常是一种观点   委托给一个模板,哪个   描述了如何呈现数据。

     

“控制器”适合哪里,   然后?在Django的情况下,它可能是   框架本身:机器   向...发送请求   适当的观点,根据   Django URL配置。

     

如果你渴望得到首字母缩略词,那么   可能会说Django是一个“MTV”   框架 - 即“模型”,   “模板”和“视图”。故障   更有意义。

     

当然,当天结束了   完成任务。和,   无论如何命名,   Django以某种方式完成工作   对我们来说最合乎逻辑。

答案 1 :(得分:2)

答案 2 :(得分:2)

是Django不是MVC,Django更喜欢为Model Template View调用其MVC实现MTV。

有关Django和MTV的更多信息,请参阅this博客