欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

DRF 分析程序源代码分析

最编程 2024-05-04 15:29:11
...

DRF解析器源码分析

1 解析器

解析请求者发来的数据(JSON)

使用 request.data 获取请求体中的数据。

这个 reqeust.data 的数据怎么来的呢?其实在drf内部是由解析器,根据请求者传入的数据格式 + 请求头来进行处理。

drf默认的解析器三个JSONParser, FormParser, MultiPartParser

1.1 JSONParser (*)

只支持JSON格式的数据

在这里插入图片描述

1.2 FormParser

在这里插入图片描述

1.3 MultiPartParser(*)

既支持发送数据,又支持传输文件

在这里插入图片描述

解析器可以设置多个,默认解析器:

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.parsers import MultiPartParser, JSONParser, FormParser

class UserView(APIView):
    parser_classes = [MultiPartParser, JSONParser, FormParser]
    def post(self, request):
        print(request.content_type)
        print(request.data)
        return Response("...")

1.5 源码分析

在这里插入图片描述

推荐阅读