请求控制模块:request目标

源代码通道:APIView类的dispatch方式中

request = self.initialize_request(request, *args, **kwargs)


class Test(APIView):
    def get(self, request, *args, **kwargs):
        # url拼凑的主要参数
        print(request._request.GET)  # 二次封裝方式
        print(request.GET)  # 兼容
        print(request.query_params)  # 扩展	,兼容模式最強
        return Response('drf get ok')

    def post(self, request, *args, **kwargs):
        # # 全部请求方式带上的数据包
        print(request._request.POST)  # 二次封裝方式
        print(request.POST)  # 兼容
        print(request.data)  # 扩展,兼容模式最強,三种传参方式都能够:form-data,urlencoding,json
        return Response('drf post ok')

汇总

  1. drf对原生request干了二次封裝,设定request._request相当于原生request
  2. 原生request目标的特性和方式都能够被drf的request目标立即浏览(兼容)
  3. drf请求的全部url拼凑参数均被分析到query_params中 ,全部数据包数据信息都被分析到data中
  • get请求:url中拼凑的主要参数根据 request.query_params获得
  • post请求:全部请求方式所带上的数据包全是根据 request.data获得
文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归去快排Seo www.SEOgurublog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ▷61910465