Yuj*_*ita 25

Django似乎是一个MVC框架,但您将Controller称为"视图",并将"模板"视为"模板".你怎么不使用标准名称?

嗯,标准名称是值得商榷的.

在我们对MVC的解释中,"视图"描述了呈现给用户的数据.它不一定是数据的外观,而是呈现的数据.该视图描述了您看到的数据,而不是您的看法.这是一个微妙的区别.

因此,在我们的例子中,"view"是特定URL的Python回调函数,因为该回调函数描述了呈现的数据.

此外,将内容与表示分开是明智的 - 这是模板的来源.在Django中,"视图"描述了呈现的数据,但视图通常委托给模板,模板描述了数据的呈现方式.

那么"控制器"在哪里适合?在Django的情况下,它可能是框架本身:根据Django URL配置向适当视图发送请求的机制.

如果你渴望缩略词,你可能会说Django是一个"MTV"框架 - 即"模型","模板"和"视图".这种分解更有意义.

当然,在一天结束时,它归结为完成任务.并且,无论命名如何,Django都以对我们来说最合乎逻辑的方式完成工作.

  • 屁股倒退.不是很有争议.大声笑. (19认同)
  • 这个决定使他们看起来像业余爱好者.众所周知,在MVC架构中,Controller是什么,以及View是什么.'所以,在我们的例子中,"观点"是......'是一个错误的尝试,使一个错误的决定合理化. (18认同)