user -> nginx http
nginx -> uwsgi:
uwsgi调用本地的application源码,传递environ, start_response
start_response中完成Url映射,进入view之前进入多个middlewares
到达view
基于函数视图, fn(request,*args,**kwargs)
基于类的视图, as_view, 返回内层函数view, view完成实例化,dispatch,基于request.method派发请求到当前实例不同属性。
DRF view就是原生的django view; APIView支持 request, response加强, request.data接收所有数据; 认证,授权,限流。 GenericAPIView, 将序列化出来,进去,update, 部分update, 删除中的共同的序列化器,查询集抽成属性;其他功能由mixin混合。
a. DRF APIView,dispatch之前,initrequest, 进行加强request, 认证,授权,限流
b. 分发请求
view处理完成,响应内容
响应经过层层中间件,返回给uwsgi,uwsgi响应给nginx, 再响应给用户。
本文作者:mykernel
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!