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

相关推荐
o0o_-_15 分钟前
【go/gopls/mcp】官方gopls内置mcp server使用
开发语言·后端·golang
苏三说技术28 分钟前
为什么不建议在 Docker 中跑 MySQL?
后端
二饭30 分钟前
Spring Boot 项目启动报错:MongoSocketOpenException 连接被拒绝排查日记
java·spring boot·后端
Dxy123931021630 分钟前
python把文件从一个文件复制到另一个文件夹
开发语言·python
sonrisa_1 小时前
collections模块
python
折翼的恶魔1 小时前
数据分析:排序
python·数据分析·pandas
荣达1 小时前
koa洋葱模型理解
前端·后端·node.js
天雪浪子1 小时前
Python入门教程之赋值运算符
开发语言·python
站大爷IP2 小时前
5个技巧写出专业Python代码:从新手到进阶的实用指南
python
hrrrrb2 小时前
【Python】字符串
java·前端·python