【问题标题】:Are django Template tags part of View in MVC architecture?django 模板标签是 MVC 架构中视图的一部分吗?
【发布时间】:2014-09-17 21:17:42
【问题描述】:

根据 MVC 架构的定义和视图层的职责,我们可以说 Django 模板标签是视图层的一部分吗? 如果是真的,那么我们不应该在模板标签中访问我们的数据模型,所以 this answer 违反 MVC 架构规则?

【问题讨论】:

    标签: python django model-view-controller django-templates


    【解决方案1】:

    从某种意义上说,我会说是的。

    由于你的代码逻辑(模型)和你的视图(模板)逻辑是分开的,它会非常相似,你可以争论 URL.py 将作为你的控制器(路由器)

    我会查看以下内容以更好地了解它更详细的内容。

    类似的问题和解释。

    Django vs. Model View Controller

    【讨论】:

      【解决方案2】:

      来自Django FAQ

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

      然而,Django 更常被描述为“模型-视图-模板”架构(在常见问题解答中也是如此)。视图决定显示哪些数据,模板决定如何显示数据。从这个角度来看,模板不是视图的一部分。

      对于这个特定的问题/答案,我想说这不属于模板标签。它不处理任何表示逻辑,而是处理数据的检索。这通常最好在视图中完成,或者如果数据应该在侧面可用,则在上下文处理器中完成。

      【讨论】:

        【解决方案3】:

        视图通常呈现数据。为此,它需要访问数据。是的,您希望保持视图和数据解耦。但你也必须对此保持理性。这是一个权衡。如果将数据复制到另一个日期结构中,即模型和视图之间的中间结构,则可能会使应用程序变慢。 另一种方法是不使用 django 模板,而只是通过 rest api 从 django 发回数据。但是如果您使用的是 django 模板,那么您提到的答案是合理的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-01-03
          • 2011-06-26
          • 1970-01-01
          • 2017-04-23
          • 2011-07-28
          • 2020-02-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多