django学习笔记(三)—整体框架理解
从目录出发,思考django框架的运行过程,首先创建一个project
django-admin startproject mysite #项目名是mysite
http请求的整个流程
下面的一次django请求都经历了哪些过程呢?
浏览器访问网站的本质:socket客户端、socket服务端之间的收发消息。
流程:
1. 【服务端】网站启动,并监听IP和端口,如:127.0.0.1:8000,等待客户端来连接…
2. 【客户端】浏览器中输入http://127.0.0.1:8000/,浏览器先后进行:
(1) 连接:域名解析得到网站IP,并根据端口进行连接。
(2) 发送消息:将请求数据发送给服务端,发送数据本质上是字符串,格式如下:
1 2 |
GET /index/ http1.1\r\nhost:www.xxx.com…..\r\n\r\n POST /index/ http1.1\r\nhost:www.xxx.com...\r\n\r\nage=18&num=1 3. |
3. 【服务端】接收用户请求发来的数据,并根据请求字符串解析,并做出响应。
1 |
响应:HTTP/1.1 200 OK\r\nContent-Type: text/html;...\r\n\r\n<html>...</html> |
4. 【客户端】接收服务端响应的内容,将响应体展示在浏览器上,响应头保存到浏览器。
5. 【客户端】【服务端】连接断开,Http请求终止(体现了Http短连接)。
django的一次请求
django使用的是MVC框架,请求的整个流程是:请求-> url.py -> views.py -> template -> 浏览器
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式
- Model(模型)一般对应数据库操作、纪录的存取
- View(视图)决定着如何展示数据
- Controller(控制器)负现处理用户交互的部分。控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
盗用一个网上找的比较清楚的图