目录
- Django DRF 解析器
- 1. 解析器作用
- 2. 使用
- 解析器默认配置
- 为视图类定义解析器
- 修改全局配置
Django DRF 解析器
1. 解析器作用
request请求先进到APIView的dispatch方法, 如果有异常走到exception。
Json请求
www-form 请求
form-data请求
可以看到不同类型的请求, request.data 拿到的对象不同, Json格式拿到的是字典, www-form和form-data拿到的是queryset。
2. 使用
解析器默认配置
可以看到drf默认配置了三个解析器
为视图类定义解析器
在视图类中可以只定义单个解析器
class Home(APIView):from rest_framework.parsers import JSONParserparser_classes = [JSONParser]def get(self, request, *args, **kwargs):print(request.content_type)print(request.data)return Response({'status': "OK"})
修改全局配置
在settings.py中添加
REST_FRAMEWORK = {'EXCEPTION_HANDLER': 'app01.utils.handlers.exception_handler','DEFAULT_PARSER_CLASSES': ['rest_framework.parsers.JSONParser']
}