Django的开发人员对MVC范例略有非传统的看法。他们实际上在常见问题解答中解决了这个问题,您可以在此处阅读。用他们自己的话说:
在我们对MVC的解释中,“视图”描述了呈现给用户的数据。不一定是数据的外观,而是要呈现的数据。该视图描述的是您看到的数据,而不是如何查看。这是一个微妙的区别。
因此,在我们的例子中,“视图”是特定URL的Python回调函数,因为该回调函数描述了要显示的数据。
此外,将内容与表示分开是明智的,这是模板的来源。在Django中,“视图”描述了要显示的数据,但是视图通常委托给模板,后者描述了如何显示数据。
那么,“控制器”适合放在哪里?在Django的情况下,可能是框架本身:根据Django URL配置将请求发送到适当视图的机器。