
1.1.4 Django框架的用户操作流程
Django框架设计的MTV模式也是基于传统的MVC模式的,本质上也是为了各组件之间保持松耦合关系,只是定义上有些许不同。MVC模式之所以能够成为Web框架最流行的设计标准,也是因为其比较完美地契合了用户的操作流程。
MVC模式是软件工程中的一种通用的软件架构模式,同样也适用于Web应用程序。MVC将Web框架分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),并以一种插件式的、松耦合的方式连接在一起。
在MVC模式中,模型(Model)负责编写具体的程序功能,建立业务对象与数据库的映射(ORM);视图(View)为图形界面,负责与用户的交互(HTML页面);控制器(Controller)负责转发请求,并对请求进行处理。
MVC模式的用户操作流程如图1.4所示。
Django框架的MTV模式用户操作流程,本质上与MVC模式的用户操作流程是一样的,也是为了在各组件间保持松耦合关系。二者只是定义上有些不同,如前文中介绍的,Django框架的MTV模式指的是M模型(Model)、T模板(Template)和V视图(View)。最重要的是,MTV模式另外实现了一个URL分发器模块,其作用是将每一个URL页面请求分发给相应的V视图(View)进行处理,然后再由V视图(View)去调用相应的M模型(Model)和T模板(Template)。
Django框架用户操作流程如图1.5所示。

图1.4 MVC模式用户操作流程

图1.5 Django框架用户操作流程制
如图1.5中的描述,用户通过浏览器向服务器端的URL分发器模块发起一个URL请求(request),这个URL请求会去访问视图函数(View.py)进行匹配,再进一步通过数据模型(Models)访问数据库进行数据操作,然后将操作结果逐级返回到模板(Template),并最终返回网页给用户。