首页 > 编程语言 >DRF-Parser解析器组件源码分析和应用

DRF-Parser解析器组件源码分析和应用

时间:2024-10-27 20:21:10浏览次数:1  
标签:解析器 self Parser request JSONParser 源码 class

1. 解析器源码分析

注意:以下源码为了方便理解已进行简化,只保留了解析器相关的代码

# 视图函数:
class MyView(APIView):
    def post(self, request):
        print(self.request.data)  # 触发解析流程
        return Response("ok")
解析并获取数据的源码分析:

image
image

获取解析器的源码分析:

image
image

解析器解析数据的源码分析(以JSONParser为例):

image

2.实践应用

# 视图类中:
class MyView(APIView):
    # 指定解析器(如果未指定则用默认的parser_classes=[MultiPartParser, JSONParser, FormParser]
    parser_classes = [JSONParser, FormParser]  # 只能解析JSON和form表单数据

    # 匹配解析器的方法(默认使用该类中的方法来匹配解析器,即使不显式地写出来也能生效)
    content_negotiation_class = DefaultContentNegotiation

    def post(self, request):
        print(self.request.data)
        return Response("ok")

标签:解析器,self,Parser,request,JSONParser,源码,class
From: https://www.cnblogs.com/harry6/p/18508869

相关文章