RESTful规范(二)

七 解析器

解析器的作用:

-用来解析前台传过来的数据编码方式
   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')






猜你喜欢

转载自www.cnblogs.com/di2wu/p/10141118.html
今日推荐