django解析器 rest_framework解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kaikai136412162/article/details/88892007

django: request.POST / request.body

1.请求头要求:

    Content-Type: applicantion/x-www-form-urlencoded, request.POST中才有值(request.boy中解析)

2.请求格式要求

        name=kaikai&age=22

如:

      默认form的 头Content-Type:是applicantion/x-www-form-urlencoded

      数据格式默认是name=kaikai&age=22
方式一:

$.ajax({
         url:.....
         type:POST
         data:{name:xxx,age:24}  # 内部会转换成name=kaikai&age=22
})
默认form的 头Content-Type:是applicantion/x-www-form-urlencoded
数据格式默认是name=kaikai&age=22

方式二:

$.ajax({

         url:.....
         type:POST
         headers:{'Content-Type: applicantion/josn'}
         data:{name:xxx,age:24}# 内部会转换成name=kaikai&age=22
})
request.POST 无值  requser.body中有值

方式三:

$.ajax({
         url:.....
         type:POST
         headers:{'Content-Type: applicantion/josn'}
         data:JSON.stringfy{name:xxx,age:24}# 内部会转换成{name:xxx,age:24}
})
request.POST 无值  requser.body中有值    
# json.loads(request.body)

rest_framework 解析器

from rest_framework.parsers import JSONParser,FormParser,MultiPartParser,FileUploadParser

class ParserView(APIView):
    # 请求头设置
    parser_classes = [FileUploadParser,]  # 上传
    '''
        FileUploadParser:   application/json    request.data  json(dict)
        FormParser:   application/x-www-form-urlencoded
    '''
    def get(self,request, *args, **kwargs):
        # self.dispatch
        return HttpResponse('GET')
    def post(self,request,*args,**kwargs):
        self.dispatch
        a = request.data
        print(type(a))
        return HttpResponse('POST')


# 取值request.data

猜你喜欢

转载自blog.csdn.net/kaikai136412162/article/details/88892007