解析器
一、解析器的作用
根据请求头 content-type 选择对应的解析器对请求体内容进行处理,将传过来的数据解析成字典
二、使用解析器
1、局部使用
在视图类中重定义parser_classes
即可,默认能够解析formdata、urlencoded、json
格式的数据
from rest_framework.parsers import JSONParser,FormParser
class Test(APIView):
# 定义两个,表示该是视图类,能够解析urlencoded和json格式的数据
parser_classes = [FormParser,JSONParser,]
def get(self, request):
print(type(request._request))
return HttpResponse('ok')
2、全局使用
在setting中配置DEFAULT_PARSER_CLASSES
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES':[
'rest_framework.parsers.JSONParser',
]
}
3、全局使用后,局部使用指定解析器
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES':[
'rest_framework.parsers.JSONParser',
]
}
from rest_framework.parsers import JSONParser,FormParser
class Test(APIView):
# 定义两个,表示该是视图类,能够解析urlencoded和json格式的数据
parser_classes = [FormParser,]
def get(self, request):
print(type(request._request))
return HttpResponse('ok')