关于django一个请求的生命周期

作为一个python新手,django可能是作为python开发第一个接触的web框架了,今天来说说django的生命周期。

第一步:浏览器输入网址。接下来你以为就到django的urls了?No,紧接着是要经过django里的settings.py里的MIDDLEWARE配置,也就是中间件。

第二步:中间件通过之后才会到urls,通过urls的配置,找到views里的函数或类。

第三步:执行函数或类,返回一个字符串。

第四步:再通过一系列的中间件。

第五步:前端或模板语言获取到字符串,然后解析,在页面上展示出来。

这里说一下中间件:

具体的中间件不多介绍,就简单的说下中间件的工作流程。这里假设有三个中间件。

图一为正常流程。

图二为django1.10之前版本的中间件流程,当在中间发生错误时,会直接跳到最后一个中间件,从最后一个往前走流程。

图三为django1.10之后版本,当在中间发生错误时,会在发生错误的中间件往前走流程。

此为个人观点,若有错误请指出,谢谢。

时间: 2024-10-23 17:52:23

关于django一个请求的生命周期的相关文章

Django中请求的生命周期 和 FBV模式和CBV模式

Django的生命周期就是你的 一个请求所发生的整个流程 Django的生命周期内到底发生了什么呢?? 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中. 2. url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配, 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了. 3. 视图函数根据客

【Django】Django中请求的生命周期

Django的请求生命周期是指当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中. 2. url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配, 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了. 3. 视

YII框架一个请求的生命周期

用户向入口脚本 web/index.php 发起请求. 入口脚本加载应用配置并创建一个应用实例去处理请求. 应用通过请求组件解析请求的路由. 应用创建一个控制器实例去处理请求. 控制器创建一个操作实例并针对操作执行过滤器. 如果任何一个过滤器返回失败,则操作退出. 如果所有过滤器都通过,操作将被执行. 操作会加载一个数据模型,或许是来自数据库. 操作会渲染一个视图,把数据模型提供给它. 渲染结果返回给响应组件. 响应组件发送渲染结果给用户浏览器. 原文地址:https://www.cnblogs

Django补充——中间件、请求的生命周期等

一:中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件,如下图. 与mange.py在同一目录下的文件夹 wupeiqi/middleware下的auth.py文件中的Authentication类 中间件中可以定义四个方法,分别是: pro

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

Django请求的生命周期图解及流程 一.Django请求的生命周期的含义 Django请求的生命周期是指:当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情. 二.Django请求的生命周期图解及流程 先上流程图,再看图解! 首先,用户在浏览器中输入url,发送一个GET方法的request请求. Django中封装了socket的WSGi服务器,监听端口接受这个request 请求, 再进行初步封装,然后传送到中间键中,这个request请求再依次经过中间键

SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第3部分)(完结)

原文:SQL Server 2012:SQL Server体系结构--一个查询的生命周期(第3部分)(完结) 一个简单的更新查询 现在应该知道只读取数据的查询生命周期,下一步来认定当你需要更新数据时会发生什么.这个部分通过看一个简单的UPDATE查询,修改刚才例子里读取的数据,来回答. 庆幸的是,直到存取方法(Access Methods)前,更新操作和刚才SELECT语句流程是一模一样的. 这次存取方法(Access Methods)需要修改数据,因此在I/O请求传递前,修改的细节要存放于硬盘

(四)一个bug的生命周期

Bug的属性 Bug重现环境 这个应该是我们重现BUG的一个前提,如果没有这个前提,我们可能会无法重现问题,或者根本就无从下手. ? 操作系统 这个是一般软件运行的一大前提,基本上所以批的软件都依赖于操作系统之上的,对于一个软件来说,要想在某个操作系统上运行,必须要对这个操作系统支持,这就需要有针对性的设计与开发.对于不同的操作系统,其可能存在差异(如:win xp 与win 7)或本质的区别(如 win 7 与 CentOS linux),所以,操作系统环境是重现问题的一个重要前提. ? 浏览

django请求的生命周期

1. 概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串. 在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中. Django的请求生命周期是指当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情 而Django的生命周期内到底发生了什么呢?? 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url

SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第1部分)

为了缩小读取操作所涉及范围,本文首先着眼于简单的SELECT查询,然后引入执行更新操作有关的附加过程.最后你会读到,优化性能时SQLServer使用还原工具的相关术语和流程. 关系和存储引擎 如图所示,SQL Server被分为2个主要引擎:关系引擎和存储引擎.关系引擎有时也被称为查询处理器,因为它的主要功能是查询优化和执行.它包含检查查询语法和准备查询树的命令解析器:查询优化器毫无疑问是任何数据库系统中皇冠上的宝石:查询执行器对执行(查询计划)负责. 存储引擎对所有数据输入.输出管理负责.它包