Django框架之请求生命周期流程图

一、引言

  • WSGI、wsgiref、uwsgi三者是什么关系?

WSGI是协议,小写的wsgiref和uwsgi是实现该协议的功能模块

  • 缓存数据库

提前已经将你想要的数据准备好了,需要的时候直接拿就可以,提高了效率和响应时间。

eg:当你在修改你的数据的时候,你会发现数据并不是立刻修改完成的,而是需要经过一段时间才会修改

二、Django请求生命周期流程图(必须要掌握)

Django的请求生命周期是指当一个HTTP请求到达Django服务器,到Django处理这个请求并返回响应的整个过程。以下是Django请求生命周期的详细流程:

1、接收请求:

当Web服务器(如Gunicorn、uWSGI等)接收到一个HTTP请求后,它会将这个请求传递给Django。

2、中间件处理:

Django的中间件是一个轻量级的、底层的"插件"系统,用于全局地修改Django的输入或输出。

在请求到达视图之前,会依次经过所有配置的中间件的处理。同样,在响应返回给客户端之前,也会依次经过所有中间件的处理。

中间件可以用于执行身份验证、日志记录、缓存等多种任务。

3、URL分发:

Django的URL分发器(URLconf)根据请求的URL查找对应的视图函数。这是通过urls.py文件中定义的URL模式来完成的。

如果找到了匹配的URL模式,Django会调用相应的视图函数来处理这个请求。如果没有找到匹配的URL模式,Django会返回一个404错误。

4、视图处理:

视图函数负责处理请求并生成响应。这可能包括从数据库获取数据、执行某些业务逻辑、渲染模板等。

视图函数返回一个HttpResponse对象或其他有效的响应对象,该对象包含要发送给客户端的HTTP响应。

5、模板渲染:

如果视图函数需要返回一个HTML页面,它通常会使用Django的模板系统来渲染这个页面。

视图函数将需要的数据传递给模板,模板引擎使用这些数据来填充模板中的变量和标签,生成最终的HTML页面。

6、响应返回:

一旦视图函数生成了响应对象,Django会将其发送回Web服务器。

Web服务器将这个响应对象转换为HTTP响应,并发送给客户端。

以上就是Django请求生命周期的基本流程。在这个过程中,Django的许多组件和设置(如URLconf、视图函数、中间件、模板等)都会协同工作,以生成并发送适当的HTTP响应。

相关推荐
俊昭喜喜里3 小时前
Allegro/OrCad转换成立创eda文件
python·django
Mr数据杨4 小时前
【Codex】用教材配置模块统一管理课程教材体系
django·codex·项目开发
Mr数据杨4 小时前
【Codex】用APP绑定教程模块规范移动端接入指引
java·前端·javascript·django·codex·项目开发
kobe_OKOK_5 小时前
DRF 搜索功能实现
数据库·sqlite
dblens 数据库管理和开发工具5 小时前
SQLite 不该只有“打开表格”,它也需要一个 Agent 工作台
数据库·sqlite
dblens 数据库管理和开发工具5 小时前
我给 SQLite 做了一个带 Agent 的桌面工具
数据库·sqlite
阿豪只会阿巴18 小时前
【没事学点啥】TurboBlog轻量级个人博客项目——项目介绍
javascript·python·django·html
Mr数据杨1 天前
【Codex】用PPT文案额外描述优化课件生成细节
java·javascript·django·powerpoint·codex·项目开发
Mr.朱鹏1 天前
5.LangChain零基础速通-LCEL链式调用
python·langchain·django·大模型·llm·virtualenv
斯班奇的好朋友阿法法1 天前
IP白名单 + 预共享密钥跳转服务
django