DRF解析器源码分析

DRF解析器源码分析

1 解析器

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

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

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

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

1.1 JSONParser (*)

只支持JSON格式的数据

1.2 FormParser

1.3 MultiPartParser(*)

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

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

python 复制代码
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 源码分析

相关推荐
树獭叔叔4 分钟前
深度拆解 VAE:生成式 AI 的潜空间大门
后端·aigc·openai
任沫6 分钟前
字符串
数据结构·后端
Java编程爱好者2 小时前
2026 大厂 Java 八股文面试题库|附答案(完整版)
后端
Moment2 小时前
腾讯终于对个人开放了,5 分钟在 QQ 里养一只「真能干活」的 AI 😍😍😍
前端·后端·github
用户60572374873083 小时前
OpenSpec 实战:从需求到代码的完整工作流
前端·后端·程序员
Java编程爱好者3 小时前
MySQL单表真能存21亿条数据吗?会有严重的性能问题吗?
后端
程序员爱钓鱼3 小时前
Go操作Word文档实战:github.com/nguyenthenguyen/docx
后端·google·go
缓解AI焦虑3 小时前
大模型量化部署进阶:从 INT8/INT4 原理到高性能推理实战
后端
Felix_One4 小时前
ESP32 + Qt 串口通信(一):从协议设计到双向数据链路
后端