06请求模块:request对象

06 请求模块:request对象[Python基础]

请求模块: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获取

以上是 06请求模块:request对象 的全部内容, 来源链接: utcz.com/z/538043.html

回到顶部