- Title(EN): Django REST Framework Learning Notes (4): the parsers module
- Author: dog2
基本信息
- 源码:
rest_framework.parsers
- 官方文档:API Guide - Parsers
- 本文demo代码Github
功能
- drf给我们提供了多种解析数据包方式的解析类
- form-data
- x-www-form-urlencoded
- json
- 我们可以通过配置来控制前台提交的哪些格式的数据后台在解析,哪些数据不解析
- 全局配置就是针对每一个视图类,局部配置就是针对指定的视图来,让它们可以按照配置规则选择性解析数据
源码分析
1 | # APIView类的dispatch方法中 |
用法示例
自定义全局配置
所有视图类统一处理,在项目的settings.py
中
1 | REST_FRAMEWORK = { |
自定义局部配置
某一个或一些视图类单独处理,在views.py
视图类中提供对应的类属性
1 | from rest_framework.parsers import JSONParser |
测试demo
测试代码在这里:no4_drf_parser
其中包含: - django项目 - postman测试数据包:Body标签页定义了3种格式的数据。在局部设置只能某一种或两种,则在postman其他格式传递的数据都不显示。 - json - x-www-form-urlencoded - form-data