1. 程式人生 > >Django框架(二十三)—— Django rest_framework-解析器

Django框架(二十三)—— Django rest_framework-解析器

解析器

一、解析器的作用

根據請求頭 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')