djanao请求生命周期

djanao请求生命周期

  1. 浏览器发送请求到服务端
  2. 服务端的wsgi服务器接收到来自浏览器的请求, 对request做一些预处理, 把浏览器的请求信息(请求方式, 请求头, socket信息等)都封装在request对象.
  3. 中间件相当于Django的门卫, 能够对所有的请求做一个过滤和校验作用, 例如常见的csrf(跨站请求伪造)就可以通过Django的CSRF中间件来防止. 还有用户的请求频率控制等等都可以放在中间件来进行处理...
  4. url层是一个路由分发层, 可以根据来自用户的不同请求信息, 去执行相应的视图函数, 这个匹配规则可以是基于正则或是普通的文本匹配.
  5. 视图层是我们编写的核心业务逻辑层, 在Django中分为CBV视图和FBV视图两种. 处理业务逻辑的过程中可能会需要用到数据, 这就需要利用Django自带的orm系统来操作数据库, 拿到数据后可能还需要返回一个页面给前端, 这就需要利用到Django的模板渲染, 当模板渲染完毕后, 视图层功能结束, 返回对应Response信息
  6. 返回的Response信息会继续经过中间层来对Response进行最后的处理
  7. 最后由wsgi服务器对返回的信息包装成符合HTTP协议格式的数据返回到浏览器
posted @ 2019-09-23 22:57  yscl  阅读(176)  评论(0编辑  收藏  举报