zoukankan      html  css  js  c++  java
  • Django rest-framework框架-解析器

    解析器:
    
    开始: django: request.POST/ request.body
        满足一下两个要求POST中才有值
        1. 如果请求头中的 Content-Type: application/x-www-form-urlencodeed, request.POST 中才有值(request.body中解析数据)
        2. 数据格式要求:
            name-alex$age=18$gender=x
        如: 
         a. form表单提交
             <form>
             	....
             	....
             </form>
          b. ajax提交
              # request.POST无值,request.body有值
              $.ajax{(
              	url: ...,
              	type: POST,
              	headers: {'Content-Type': 'application/json'},
              	data: {name:x,age=10},
              )}
    
    rest_framework的解析器:
    
    from rest_framework.parsers import JSONParser,FormParser
    
    #允许用户发送json格式数据 content-type: application/json
    #                       {"name":"alex","age":10}
    class TestView(APIView):
          #JSONParser 表示只能解析content-type;application/json头
          #FormParser 表示只能解析content-type;application/x-www-form-urlencoded头
          parser_classes = [JSONParser,FormParser,]
          def post(self,request,*args,**kwargs):
          	  return request.data
    
    全局配置:
    "DEFAULT_PARSER_CLASSES": ["rest_framework.parsers.JSONParser", "rest_framework.parsers.FormParser"]
       
    解析器使用就做上全局配置就可以了
    

      

  • 相关阅读:
    PyCharm使用(完全图解(最新经典))
    pg存储过程学习
    sql_to_sqlalchemy
    python中嵌入lua解析器
    Python和lua互相调用
    Lupa
    [cb] Unity Editor 添加右键菜单
    [C#] 委托之Action和Func区别
    [反编译U3D]Decompile Unity Resources
    [cb] Assetbundle打包(一)
  • 原文地址:https://www.cnblogs.com/kuku0223/p/11346399.html
Copyright © 2011-2022 走看看