首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >后端和前端MVC

后端和前端MVC
EN

Stack Overflow用户
提问于 2013-08-02 17:53:44
回答 3查看 4.2K关注 0票数 6

我对web开发和MVC架构的世界非常陌生。我目前正在研究django,我认为它是一个MVC框架。如果我是对的,对于web应用程序,MVC意味着

视图是前端模型,后端控制器是前端和后端之间的粘合剂。

如果以上是正确的,视图是唯一的前端部分,那么像主干、角度这样的前端框架的功能到底是什么呢?他们究竟是如何部署mvc概念的?同样,当构建一个简单的博客站点时,哪个框架会更好呢?还有网站在前端和后端mvc框架上工作的实例吗?请举例说明。为了澄清这个问题,我经历了一个问题:In the Model-View-Controller principle, what is the Frontend and what is the Backend?,但不能完全理解。谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-02 20:12:28

对于前端和后端以及MVC模型,没有一对一的类比。例如,(Django)站点的管理通常被认为是后端的一部分--它不是用户将看到的站点的一部分--但是管理的一部分肯定是MVC模型的View部分。任何正常的web用户看到和/或直接交互的东西都是前端的一部分,其他的东西都是后端的一部分。

现在Django中使用的MVC框架是什么?我们有:

  • 模型:这是应用程序中保存应用程序状态的部分。在Django中,很大一部分是数据库及其抽象层Django模型。其他部分是用户会话和request变量。
  • 视图:这是应用程序中向用户呈现应用程序状态的部分。Django视图和模板对此负责。打开网站时看到的任何数据都是MVC的视图部分。整体介绍也是其中的一部分。
  • 控制器:这是应用程序中表示用户所采取的任何操作的部分。Django并不是一个真正分离的MVC框架,因为View部件和controller部分紧密地交织在一起:站点上看到的任何链接、表单或按钮都是控制器。它告诉站点执行一个操作,例如显示不同的视图(例如链接),或者更改模型的状态(例如编辑表单)。

脊骨还是棱角呢?为什么在一个应用程序中需要两个不同的MVC框架?

Django是一个服务器端框架。每个动作都发生在服务器上。如果单击某个链接或提交表单,则向服务器发送请求,服务器将返回一个完整的静态响应(静态的意思是页面在浏览器中后不会更改)。您不能使用Django来使用逻辑客户端,因为它是运行在服务器上的python框架,而不是在客户机的浏览器中运行的。相反,Javascript的工作是添加任何客户端逻辑,例如重新排序页面上的项目列表或动态添加新的项目。现在,每一页都可以被看作是某种迷你应用程序。

主干和角度是这种客户端应用程序的MVC框架的例子。它提供了像Django这样的服务器端框架所缺乏的客户端应用程序逻辑,令人惊讶的是,喜欢MVC框架来开发服务器端应用程序的人通常也喜欢使用MVC框架来开发客户端应用程序。

票数 11
EN

Stack Overflow用户

发布于 2013-08-02 21:01:28

Django是一种混合版本的模型.Django文档通常将其描述为模型-视图-模板模型。通常情况下,模板(Django HTML和模板标记等等)通常与普通视图相匹配,以网页的方式提供用户的视图。Django中的视图通常取代Controller,因为它在模型、从数据库获取数据和定义新对象以及视图(在本例中是模板)之间工作。该模型与Django中的正常模型相同,为不同的对象提供了定义。因此,虽然通常是大多数语言的模型,但它更像是一个模型-视图-模板模型,视图与正常情况不同。请参阅以下内容:

http://jeffcroft.com/blog/2007/jan/11/django-and-mtv/

票数 0
EN

Stack Overflow用户

发布于 2014-01-03 09:09:24

我正在查看Django,以及web开发的模式。

我现在最喜欢的(2014-01年)是。

使用Django (restful/json)作为MC、模型/控制器或支持的数据和逻辑。Django中的控制器部分引用了业务规则和访问控制。

然后使用javascript框架和html位作为客户端代码。视图/控制器

在实践中,客户机/浏览器加载javascript程序View/控制器,然后对支持的模型/控制器执行restful查询

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18023170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档