这个问题已经困扰我有一段时间了。我读过有关这个主题的内容,但似乎没有什么能澄清我的想法。我知道他们称为视图模板,也称为模型模型,我真正不明白的是控制器在哪里。在我看来,django 所谓的视图更像是控制器的操作/方法/功能,而不是控制器本身,但在我读到的任何地方,我都发现所谓的视图控制器是等效的。
我之前使用过 MVC 框架(ASP.NET MVC3、Ruby on Rails、PHP Laravel Framework),它们都将控制器定义为同一件事:一堆与站点特定主题相关的功能,即用户帐户或类似的东西。我发现这个描述和 django 功能之间最好的等价物是应用程序,但当然我错了,因为大量的人和文档走的是相反的方向。
有人可以帮我解决这个问题吗?我的心态有意义吗?我是否在这里错过了一些重要的东西,然后我无法正确理解这些概念?
将 MVC 等设计模式视为牢不可破的规则是错误的。它们确实不是:有各种各样的实现它们的方法,它们或多或少地符合描述。
在 Python 中尤其如此,其中之一指导原则“实用性胜过纯粹性”——换句话说,做有效的事情。
无论如何,Django 并不声称自己是一个 MVC 框架。相反,文档将其描述为MTV:模型、模板、视图。毕竟,在设计模式的世界之外,每个人都将“具有变量和流程控制语法的 HTML 文件”称为模板,而不是视图。
(该常见问题解答条目还为您的问题提供了可能的答案:控制器就是框架本身。但它继续强调,试图硬塞进这些定义是错误的。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)