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 源码分析

相关推荐
zhoujungis29 分钟前
登录态 1 小时就掉?Django + Vue 双 Token 认证实战 | 尘世栈帧
后端
Frag0ut43 分钟前
Notepad++ 零基础入门:从记事本到代码编辑器的平滑过渡(2026最新版)
python·编辑器·html·json·notepad++·markdown·记事本
深蓝AI1 小时前
Webhook 重投别再执行两次:Python + SQLite 收件箱实测
python
武子康1 小时前
同一台 ESP32,GSM 能消回声,VoIP 为什么不行?
人工智能·后端·agent
Eider19981 小时前
Python基础知识之并发相关-2
开发语言·前端·python
用户69371750013841 小时前
AI 能写代码,但工程架构还是应该由人来定
前端·后端
lqbzlll1 小时前
Spring Boot 开启虚拟线程后接口反而变慢了?4 个排查方向和对应修法
java·spring boot·后端
第九序言T1 小时前
Python 数据处理进阶(二十二)用 Pandas 做一次完整的用户行为分析
开发语言·python·数据分析·pandas
云和数据.ChenGuang1 小时前
再论深拷贝和浅拷贝
开发语言·人工智能·python·1024程序员节
回家路上绕了弯1 小时前
让 AI 成为团队的共同能力
后端