【问题标题】:is Flask an MVC or MTV? [closed]Flask 是 MVC 还是 MTV? [关闭]
【发布时间】:2011-11-09 14:06:49
【问题描述】:

抱歉这个问题

但我似乎不明白什么是真正的 Flask,它带有一个类似于 django 中使用的模板引擎,所以它是 MTV 吗?

而且每次我看到与 MVC 和 Python 相关的东西时,都会有 Turbogears 和 Django,那么 Flask 呢?

【问题讨论】:

  • 您能不能再具体点说一下您想了解的内容?
  • 我只是想对框架进行分类,我会做一个项目,我会使用Flaks,我必须做一些介绍,定义概念。

标签: python model-view-controller flask


【解决方案1】:

作为homepage puts it,它是一个微框架。它不是 MVC(首先,flask 中没有模型——但是,您可以将它与 SQLAlchemy 之类的东西结合使用),我不确定您所说的 MTV 是什么意思。它基本上是 werkzeug 的包装器,它是纯 WSGI 的包装器。具有模板功能的包装器。

编辑:另外,术语是什么有什么关系?只需浏览文档,看看它可以做什么,看看它是否对你有好处:)

【讨论】:

  • 嗯,MTV 并不是真正的东西。正如this page 所说,它与传统的MVC 模式略有不同。此外,维基百科将 django 描述为 an MVC framework
  • 没有混淆。它们实际上是完全相同的东西。 Django 开发人员只是为视图(模板)和控制器(视图)使用不同的名称,但本质上它们与任何其他 MVC 框架中的名称相同。唯一的困惑实际上是把 Django 称为 MTV 框架,因为它会让你认为它是一个不同的概念。它不是。 Here是 Django 开发者的解释。
  • 这只是术语。他们称它为微框架,象征着它是一个框架并且它很小。是的,有人可以制作一个软件并将其称为 MVC 微框架,但烧瓶不是那样的。这些术语(框架、微框架、MVC)中的任何一个都没有字典定义。
  • @abdel,这个 MVC 术语并不真正适合 Web 世界。如果您清楚地观察到典型 Web 框架的模式,它会是这样的:- 您键入一个 url,该 url 映射到返回响应/页面的视图函数(它可能来自模型或模板或从两者)。控制器的概念不适合这里。这就是为什么 Django 是 MTV,Pyramid 是 RV 等等。正如 Felix 所说的那样,术语是什么并不重要,看看框架是否适合您的需求,然后去做。
  • 正如我在原始答案中所说,不。它不遵循 MVC 模式,因为它没有模型。它只有视图(jinja2 模板)和控制器(您的实际应用程序)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 1970-01-01
  • 2010-11-12
相关资源
最近更新 更多