Django请求生命周期

news2024/11/25 15:27:15

前言

django是一个web框架,在这之前的文章中,我们推导了python web框架的实现过程,也了解了客户端浏览器输入网址回车后发生了啥事,为了更加理解django的工作流程,本文将介绍客户端浏览器访问django后端在django框架中又发生了哪些事情即django框架的请求生命周期。这也是面试中经常会被问到的问题哦~

WSGI协议 & uwsgi & wsgiref & Gunicorn

在介绍django请求生命周期流程前,需要先了解一些概念。

python web程序一般来说分为两部分,服务器程序和应用程序,服务器程序负责对socket服务器进行封装,并在客户端请求服务端时将客户端请求的各种数据和信息进行整理。应用程序则负责具体的逻辑处理,为了方便应用程序的开发就出现了很多的web框架,Django便是其中之一,服务器程序需要为不同的web框架提供不同的支持,因此就需要一个标准,只要服务器程序和应用程序也就是web框架都支持这个标准,服务器程序就可以web框架之间配合使用,WSGI就是一种规范,它规定了使用python编写的web应用程序与web服务器程序之间的接口格式。

常见的符合WSGI协议的服务器程序有uwsgi,Gunicorn,而django框架自带的服务器程序是wsgiref,当django项目上线时可以更换成uwsgi或者Gunicorn.

django请求生命周期

客户端浏览器向django后端发送请求时需要通过“重重关卡”django后端才能返回给客户端浏览器数据。

客户端浏览器向django服务端发送请求之后,首先回经过web网关接口,将客户端的请求解析成HTTP格式的数据封装到request对象中,解析后的数据回来到应用程序部分,首先会经过django的中间件,django自带了7个中间件,请求来的时候会经过每个中间件中的process_request方法,经过中间件之后才能到达真正的django后端。

请求会经过路由层,在进行路由匹配后执行对应的视图函数,在经过视图函数的业务逻辑后会产生response对象,响应对象也会通过中间件中的每个process_response方法,回到web服务网关接口,将response对象打包成HTTP格式的数据返回给客户端浏览器。

画图解释如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/478204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R语言多元数据统计分析在生态环境中的实践

生态环境领域研究中常常面对众多的不同类型的数据或变量,当要同时分析多个因变量(y)时需要用到多元统计分析(multivariate statistical analysis)。多元统计分析内容丰富,应用广泛,是非常重要和…

如何使用OpenVPN搭建局域安全网

前言: 由于在使用SpringCloud的时候把注册中心部署到内网中的一个服务器器上,由于这个服务器和我当前使用的网络的网关在同一个局域网内内,但是我电脑不在.主要现象就是我的电脑能ping通服务器,但是服务器不能ping通我的电脑 正文: 服务器端安装方式一: 去这个仓库下载一个open…

【人脸检测】——YOLO5Face: Why Reinventing a Face Detector论文浅读

人脸检测, yolov5 主要讨论的问题: 用通用的目标检测模型做人脸检测,而不一定需要一些专业设计的结构 摘要 最近几年在使用卷积神经网络进行人脸检测方面取得了巨大的进展。尽管许多人脸检测器使用专门用于检测人脸的设计,但我们…

【CTF WriteUp】2023数字中国创新大赛网络数据安全赛道决赛WP(2)

2023数字中国创新大赛网络数据安全赛道决赛WP(2) 数据分析题目 菜的要死,各种不会,答案也不全,凑合吧 数据分析-bankmail 流量为邮件通信流量 将其中邮件部分导出,保存为eml文件并打开,看到Alice给Bob的第一封邮件…

收藏的一些好用的网站

一、PPT模板 网址:https://pptmon.com/ PPTMON - Free PowerPoint Templates and Google Slides Themes 是一个提供 PowerPoint 模板和图标素材下载的网站。该网站上有大量的 PowerPoint 模板,可供用户根据自己的需要进行选择和下载。此外,该…

二叉树OJ题目合集(单值、对称、平衡、构建加遍历)

目录 前言: 一:单值二叉树 二:二叉树遍历 核心点 (1)前序 (2)中序 (3)后序 三:判断两颗树是否相同 四:判断二叉树是否对称 五:判断一颗树是否为另一颗树的子树 六:平衡二叉树 七&…

创建的django项目生成后,没有默认的数据库生成

目录 1、尚未执行迁移 1.1 首先,在setting.py文件中配置数据库链接 1.2 确保在Terminal运行已经执行了如下命令来创建数据库表格。 1.3 在数据库刷新就有了 2、已经使用了自定义的数据库 3、尚未配置默认数据库 1、尚未执行迁移 1.1 首先,在setting.…

介绍一款优秀的网址导航,可以部署到自己公司内部:hexo-theme-webstack

GitHub - HCLonely/hexo-theme-webstack: A hexo theme based on webstack. | 一个基于webstack的hexo主题。 中文文档 A Hexo theme based on WebStackPage. Installation hexo > 4.0 git clone https://github.com/HCLonely/hexo-theme-webstack themes/webstack hexo …

C++中的stack容器

文章目录 stack的介绍stack的使用 stack的介绍 stack是一种容器适配器,专门用在具有后进先出操作特性的环境中,只能在容器的一端进行插入删除;stack是作为容器适配器被实现的,容器适配器即是对特性类封装作为其底层的容器&#xf…

101-Linux_I/O复用方法之select

文章目录 1.select系统调用的作用2.select系统调用的原型3.集合fdset4.使用select实现TCP服务器(1)服务器端代码:(2)客户端代码(3)运行结果截图 1.select系统调用的作用 在一段指定时间内,监听用户感兴趣的文件描述符的可读、可写和异常等事件 2.select系统调用的…

Typora Markdown 中 LaTeX 公式居左、对齐的方法

我们知道公式块里的公式默认是居中的,我们想让公式居左(顶着左页面)可以使用如下格式的 flalign 数学环境: 不多说,先看示例 示例 \begin{flalign} &\iint_D\frac{\sin y}{y}{\rm d}\sigma\\ &\int_0^1{\rm…

【redis】redis分布式锁(二)可重入锁+设计模式

【redis】redis分布式锁(二)可重入锁 文章目录 【redis】redis分布式锁(二)可重入锁前言一、可重入锁(又名递归锁)1、说明:2、分开解释:3、可重入锁的种类隐式锁(即synch…

Nautilus Chain 测试网第二阶段,推出忠诚度计划及广泛空投

随着更多的公链底层面向市场,通过参与早期测试在主网上线后获得激励成为了行业的一个热点话题,在Apots、Arbitrum One、Optimism等陆续发放了测试空投后,以Layer3为主要特性的Nautilus Chain也在前不久明确表示将会有空投,引发行业…

《嵌入式系统》知识总结3:STM32微控制器

STM32系列产品命名规则 以stm32f103zet6为例 Stm32微控制器架构 模块 • 处理器核心 • 存储器 • 时钟电路、系统总线 • 外设(硬件单元):I/O接口、通信接口、定时器 、ADC和DAC, …… 系统结构 哈佛存储结构 • 独立的…

mockjs学习笔记

文章目录 一、什么是mockjs二、安装mockj项目安装mock 三、mock语法生成字符串生成文本生成标题和句子生成段落生成数字生成自增id生成姓名-地址-身份证随机生成图片生成时间 mock拦截请求定义get请求定义post请求 四、实现新闻管理案例获取数据添加新闻删除新闻 一、什么是moc…

有趣的地理题

题目 总部位于上海的“哔哩哔哩”(简称B站),是国内知名的视频网站。在B站投稿的用户被称为“UP主”。据统计,B站的UP主群体中,来自上海的比例最高,200万粉丝以上的UP主,来自上海的比例超过 30 …

最佳Midjourney动漫相关风格提示词,值得收藏

先补充概念,后面慢慢补图片咯 动漫艺术家 下面是一些最伟大的艺术家的名单 Hayao Miyazaki, Co-founder of Studio Ghibli(宫崎骏,吉卜力工作室的共同创始人)Eiichiro Oda, One Piece(织田荣一郎,《海贼…

【Linux】Linux下常见基本指令

🌱博客主页:大寄一场. 🌱系列专栏:Linux 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 目录 前言 一、文件和目录操作指令 ls指令 pwd指令 cd指令 touch指令 rmdir指令 && rm 指令: man指…

吉布斯采样方法

吉布斯采样方法 对于多元分布, P ( X ) , X [ x 1 x 2 ] P(X), X\left[\begin{array}{l} x_1 \\ x_2 \end{array}\right] P(X),X[x1​x2​​]吉布斯抽样执行如下。假设很难从联合分布中抽样 P ( x 1 , x 2 ) P\left(x_1, x_2\right) P(x1​,x2​)但是从条件分布 P ( x 1 ∣ …

一键轻松拥有自己专属的 ChatGPT 网页版,搭建一个私人的可随时随地访问的ChatGPT网站

前言 ChatGPT是一种基于Transformer架构的自然语言处理模型,由OpenAI开发。GPT是“Generative Pre-trained Transformer”的缩写,意为“预训练生成式Transformer模型”。 ChatGPT模型是一种无监督学习模型,它可以在大规模文本数据上进行预训…