[Python] 探讨Django的MTV模式(一)

Django的特点

Django的主要目的是简便、快速地开发数据库驱动的网站——动态网站。它强调代码复用,多个组件可以方便地以“插件”形式服务于整个框架,因此它有许多功能强大的第三方插件。Django强调快速开发,用Django开发一个Web网站非常迅速。

Django的实际应用

Django最著名的应用是Google App Engine,Google App Engine 是一种让您可以在 Google 的基础架构上运行您的网络应用程序。使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。

Django的MTV模式

MVC模式

首先说说MVC模式,MVC把web应用分为模型(M),控制器(C)和视图(V)三层,其实说白了,就是各干各的,模型负责业务对象与数据库的映射,视图负责与用户的交互,控制器接受用户的输入调用模型和视图完全用户的请求。
[Python] 探讨Django的MTV模式(一)

MTV模式

Django符合MVC模式,但更确切的说,是符合MTV模式。

[Python] 探讨Django的MTV模式(一)

Model层
1、使用的是ORM
2、我们所能控制的就是models.py文件
3、负责数据库关系映射

Template层
1、负责怎么样显示给用户
2、利用一些格式化的html文件,使数据按照要求显示(显示在哪里,怎么显示等等)
3、需要在project目录下,建立templates文件夹,然后在setting.py中设置好templates目录的路径。然后在此目录中建立所需html文件。

View层
1、django中的view层是用于控制要显示什么数据
2、我们能看到的就是views.py文件

最后,还需要URLconf把模型,模板和视图串联起来(在urls.py中设置)

Django响应过程

[Python] 探讨Django的MTV模式(一)
1,Web服务器收到一个http请求
2,Django把web服务器传过来的请求转换成一个请求对象
3,Django在URLconf里查找正确的视图函数
4,调用这个视图函数,参数为请求对象以及任何捕捉到的URL参数
5,然后视图会创建并返回一个响应对象
6,Django将这个响应对象转换成web服务器可以理解的格式
7,Web服务器将响应发送给客户端