美文网首页
Django drf解析器

Django drf解析器

作者: Ginta | 来源:发表于2019-03-02 22:58 被阅读0次

    源码流程

    1. 本质
    • 请求头
    • 状态吗
    • 请求方法
    1. 源码流程
    • dispatch : request封装
    • request.data

    使用

    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"]
    }
    

    相关文章

      网友评论

          本文标题:Django drf解析器

          本文链接:https://www.haomeiwen.com/subject/qbkuuqtx.html