django请求生命周期流程图(重要)

django请求生命周期流程图

1.Django请求的生命周期的含义

Django请求生命周期是指:当用户在浏览器上输入URL到用户看到网页的这个时间段内,Django后台所发生的事情。

2.Django请求的生命周期图解及流程

image

1.浏览器默认是基于HTTP协议发送请求的
2.发送请求进入一个web服务网关接口,其实就是wsgiref(帮我们封装了socket代码帮我们把请求过来得到数据进行数据处理,变成一个大字典)它是django默认的,但是它的并发能力特别低非常差,所以在django上线之后都会切换为uwsgi,该服务并发能力强,并发量大
3.wsgiref与uwsgi都是属于WSG协议,它们两个实现这个协议的模块
4.请求进来的时候拆建数据,响应走的时候封装数据

------------->进入Django后端

1.首先会经过一个Django中间件,请求会经过它的层层筛选,才会进入urls.py
2.urls.py(路由层),进来之后完成一个地址的匹配,查看功能是否开设好了,如果开设好了就会进入views.py(视图层),执行核心逻辑,如果需要模板进入模板层
3.templates文件夹(模板层),models.py(模型层),模板层可能会需要用到模板语法,然后进入模型层拿取数据,用ORM进入数据库操作数据,返回一个数据,然后ORM会操作封装成对象,回到views.py层,然后会做一个模板渲染,然后依次返回

image

3.Django的请求生命周期(分步解析)

浏览器
	发送请求(HTTP协议)

web服务网关接口
	1.请求来的时候解析封装
		响应走的时候打包处理

	2.django默认的wsgiref模块不能承受高并发 最大只有1000左右
		上线之后会替换成uwsgi来增加并发量
	
	3.WSGI跟wsgiref和uwsgi是什么关系
		WSGI是协议
		wsgiref和uwsgi是实现该协议的功能模块

django后端
	1.django中间件(暂时不考虑 后面讲)
		类似于django的保安 门户
		
	2.urls.py  路由层
		识别路由匹配对应的视图函数
	
	3.views.py	视图层
		网站整体的业务逻辑
		
	4.templates文件夹		模版层
		网站所有的html文件
	
	5.models.py			   模型层
		ORM
额外扩展:缓存数据库的作用
posted @ 2022-12-12 17:48  dear丹  阅读(186)  评论(0编辑  收藏  举报