七 解析器
解析器的作用:
-用来解析前台传过来的数据编码方式 urlencoded:form表单:name=lqz&age=18 formdata :上传文件:--dadfgdgag-- json:json格式 {"name":"lqz"} -解析器取的顺序 1 视图类中 2 django总settings里取 3 drf默认的配置文件取 —全局配置 在setting中: REST_FRAMEWORK = { 'DEFAULT_PARSER_CLASSES':[ 'rest_framework.parsers.JSONParser', # 'rest_framework.parsers.FormParser', ] } -局部使用: 在视图类中: from rest_framework.parsers import JSONParser,MultiPartParser,FormParser parser_classes = [JSONParser,FormParser]
例子
解析器 局部配置 from rest_framework.parsers import JSONParser class Book(APIView): parser_classes = [JSONParser, ] def get(self,request,*args,**kwargs): return HttpResponse('ok') def post(self,request): print(request.data) return HttpResponse('post') from rest_framework.parsers import JSONParser,MultiPartParser,FormParser class Book(APIView): parser_classes = [JSONParser,FormParser] def get(self,request,*args,**kwargs): return HttpResponse('ok') def post(self,request): print(request.data) return HttpResponse('post')