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')
博客内容仅供参考,部分参考他人优秀博文,仅供学习使用
posted @ 2019-04-27 16:36  新手码农__威  阅读(232)  评论(0编辑  收藏  举报