zoukankan      html  css  js  c++  java
  • Django Rest-Framework的视图

    APIVIEW

      django中写CBV的时候继承的是View,rest_framework继承的是APIView,不管是View还是APIView最开始调用的都是as_view()方法~~那我们走进源码看看~~

      APIView继承了View, 并且执行了View中的as_view()方法,最后把view返回了,用csrf_exempt()方法包裹后去掉了csrf的认证

      我们看到了~在View中的as_view方法返回了view函数,而view函数执行了self.dispatch()方法~~但是这里的dispatch方法应该是我们APIView中的~~

      去initialize_request中看下把什么赋值给了request,并且赋值给了self.request, 也就是我们在视图中用的request.xxx到底是什么~~

    我们看到,这个方法返回的是Request这个类的实例对象~~我们注意我们看下这个Request类中的第一个参数request,是我们走我们django的时候的原来的request~

    我们看到了,这个Request类把原来的request赋值给了self._request, 也就是说以后_request是我们老的request,新的request是我们这个Request类~~

    我们用了rest_framework框架以后,我们的request是重新封装的Request类~

      request.query_params 存放的是我们get请求的参数

      request.data 存放的是我们所有的数据,包括post请求的以及put,patch请求~~~

      相比原来的django的request,我们现在的request更加精简,清晰了~~~

     本人自己梳理的一张流程图:

  • 相关阅读:
    NOI2021游记-记最后一段日子
    7.20 ZROI-Day7模拟赛
    7.19 ZROI-Day6模拟赛
    7.18 ZROI-Day5模拟赛
    7.17 ZROI-Day4模拟赛
    7.16 ZROI-DAY3 模拟赛
    7.15 ZROI-DAY2 模拟赛
    7.13 ZROI-DAY1赛后总结
    7.9模拟赛赛后总结
    7.7模拟赛赛后总结
  • 原文地址:https://www.cnblogs.com/wdbgqq/p/9892733.html
Copyright © 2011-2022 走看看