Django drf解析器

2019-03-02  本文已影响0人  Ginta

源码流程

  1. 本质
  1. 源码流程

使用

  1. 局部
from rest_framework.parsers import JSONParser, FormParser
class ParserView(APIView):
    parser_classes = [JSONParser]
    """
    JSONParser: 表示只能解析 application/json 请求头
    FormParser: 表示只能解析 application/x-www-form-urlencoded 请求头
    """
    def post(self, request, *args, **kwargs):
        """
        允许用户发送JSON格式的数据
            a. content-type: application/json
            b. {"name": 'alex', "age": 18}
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        """
        1. 获取用户请求
        2. 获取用户请求体
        3. 根据用户请求头和 parser_classes = [JSONParser, FormParser] 中支持的请求头进行比较
        4. JSONParser对象中去请求体
        5. request.data
        """
        print(request.data)
        return HttpResponse('JSON测试')
  1. 全局
# 全局使用
REST_FRAMEWORK = {
"DEFAULT_PARSER_CLASSES":  ["rest_framework.JSONParser", "rest_framework.FormParser"]
}
上一篇下一篇

猜你喜欢

热点阅读