Django生命周期
图解1:
图解2:
wsgi :
封装请求后交给后端的web框架( Flask、Django )。- 请求中间件: 对请求进行校验或在请求对象中添加其他相关数据,例如: csrf、
request.session 。 路由匹配:
根据浏览器发送的不同 url 去匹配不同的视图函数。视图函数:
在视图函数中进行业务逻辑的处理,可能涉及到: ORM(对象关系映射)、Templates(模板,用于设计前端页面) 。响应中间件:
对响应的数据进行处理。wsgi :
将响应的内容发送给浏览器。
举例说明:
- 用户访问https://127.0.0.1/name/的网址
- 通过wsgi来封装客户端对服务端的请求
- 后端通过python manage.py启动项目,此时加载了项目中的一些配置信息,包括路由配置文件、数据库存储位置、前端模板)
- 当用户请求路径为/name/时,服务内部wsgi web服务网关接口接收用户请求,访问urls.py子路由配置文件, 执行views.index视图函数,对用户的请求(request)进行业务逻辑操作,最终返回给用户一个响应(response)。
注意:
- 在执行视图函数时,如果用户的请求为纯文本,则直接将文本响应返回给用户
- 如果用户的请求需要从数据库中查找信息,
则执行视图函数后先在数据库中查找相关信息(通过面向对象的方式查询数据库的信息),然后返回给用户
- 如果用户请求的资源需要前端展示,
则需要经过视图函数查找前端模板位置并调用(对返回给用户的内容进行渲染),之后再返回给用户
wsgi:
- Web服务器网关接口。WSGI是一个规范,定义了Web服务器如何与Python应用程序进行交互,使得使用Python写的Web应用程序可以和Web服务器对接起来。
- WSGI 是服务器程序与应用程序的一个约定,它规定了双方各自需要实现什么接口,提供什么功能,以便二者能够配合使用。
- wsgi实现的功能:
- 操作 wsgi 的环境变量
- 应答头部的处理
- 实现简单的 HTTP server
- 简单的对程序端和服务器端校验函数