本站将逐步迁移至新站点,点击访问

Django Rest Framework – 生命周期

250次阅读
没有评论

1 Django请求生命周期

Django

  • 前端发送请求

  • wsgi, 他就是socket服务端,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架(Flask、Django)

  • 中间件处理请求,帮助我们对请求进行校验或在请求对象中添加其他相关数据,例如:csrf、request.session

  • 路由匹配,根据当前请求的URL找到视图函数,如果是FBV写法,通过判断method两类型,找到对应的视图函数;如果是CBV写法,匹配成功后会自动去找dispatch方法,然后Django会通过dispatch反射的方式找到类中对应的方法并执行

  • 视图函数,在视图函数中进行业务逻辑的处理,可能涉及到:orm、view视图将数据渲染到template模板

  • 视图函数执行完毕之后,会把客户端想要的数据返回给dispatch方法,由dispatch方法把数据返回经客户端

  • 中间件处理响应

  • wsgi,将响应的内容发送给浏览器

  • 浏览器渲染

2 drf请求生命周期

前端发送请求 –> Django的wsgi –> 中间件 –> 路由系统_执行CBV的as_view(),就是执行内部的dispath方法 –> 在执行dispath之前,有版本分析和渲染器 –> 在dispath内,对request封装 –> 版本 –> 认证 –> 权限 –> 限流 –> 通过反射执行视图函数 –> 如果视图用到缓存( request.data or request.query_params )就用到了 解析器 –> 视图处理数据,用到了序列化(对数据进行序列化或验证) –> 视图返回数据可以用到分页

Honest1y
版权声明:本站原创文章,由Honest1y于2021年01月29日发表,共计2497字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)