Django的MTV架构

1.谈一下流行的MVC

    把数据存取逻辑、业务逻辑和表现逻辑组合在一起的概念被称为软件架构的 Model-View-Controller (MVC)模式。 在这个模式中, Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分。

                        

2.做个比较

而Django参照MVC架构模式,但又完全不同。

如果把Django和MVC做个对比,可以这样理解。

Model 数据库的存储部分,有Django的数据层处理。

View

表现层,选择展示哪些数据和怎样显示,由视图和模板配合渲染展示,返回给浏览器。
Controller 控制层,根据用户输入,匹配相应的视图,Django框架里的URLconfig设置,根据URL调用相应的函数。

但很多人会把它称为MTV模式:

M 代表模型(Model)

数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等

与MVC中的M功能相同,负责数据处理,内嵌了ORM框架。

T 代表模板(Template)

表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎。

V 代表视图(View)

业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。

与MVC中的C功能相同,接收HttpRequest,业务处理,返回HttpResponse。

 Django的MTV模式                                          

                                                         

                                                   









猜你喜欢

转载自blog.csdn.net/liangkaiping0525/article/details/80864318
今日推荐