首页 > 其他分享 >Django生命请求周期

Django生命请求周期

时间:2023-02-09 18:23:14浏览次数:45  
标签:周期 py 中间件 视图 Django uWSGI 请求

Django的请求生命周期

所谓Django的请求生命周期,直白的来说就是当请求来的时候和请求走的阶段中,Django的执行轨迹。

一个完整的Django生命周期:用户从客户端发出一条请求以后,首先会基于http协议去解析数据并封装,然后来到Nginx处理(nginx监听公网ip的某个端口,接到请求后,如果是静态资源,nginx直接获取该资源并返回给用户,如果是动态资源,nginx就将请求转发到uWSGI,使用协议一般是uwsgi),uWSGI接收到请求以后,通过将http协议转化为WSGI协议,和Django之间进行通信,此时,该条请求就真正的来到了后端之上,首先它会经过Django的第一道工序:中间件,(而所谓中间件,简单来说就是请求来和请求走的时候Django增加的一道工序,请求来和请求走的时候都要先经过中间件的处理,因此,也可以将中间件理解为Django提供的额外功能组件),在经过中间件以后,来到Django的第二道工序:路由层(urls.py)去筛选匹配符合符合请求命令后缀的地址,然后根据匹配到的地址去Django

的第三道工序:视图层(views.py)找到对应的视图函数/视图类里的属性,之后去到第四道工序:模型层(models.py)通过orm操作去数据库中获取数据,拿到数据以后回到视图层(views.py)里对数据进行处理(序列化和反序列化),将处理后的数据返给Django的第五道工序:模板层(Templates),模板层接收到数据后,对数据进行渲染,之后再次经过视图层、路由层、中间件、uWSGI服务器、Nginx代理,最后将渲染的数据返还给客户端进行展示。

标签:周期,py,中间件,视图,Django,uWSGI,请求
From: https://www.cnblogs.com/PyLy/p/17106629.html

相关文章