感谢alex和武老师
前戏: Djaogo对请求体只支持 application/x-www-form-urlencoded请求头以及name=alex&age=18的数据格式
django.request.POST/ request.body
1. 请求头要求
Content-Type: application/x-www-form-urlencoded
PS:如果请求头中的 Content-Type:application/x-www-form-urlencoded, request.POST中才有值(去request.body里面解析数据) 2.数据格式要求:
name=alex&age=18&gender=男 如:
a. form表单提交
<form method..>
input...
</form> b. ajax提交
$.ajax({
url:...
type:POST,
data:{name:alex, age=18}
}) #自定义请求头 $.ajax({
url:...
headers:{'Content-Type':"application/json"}
data:{name:alex, age=18} #内部转化 name=alex &age=18
})
#body有值, POST无 $.ajax({
url:...
type:POST,
headers('Content-Type':'application/json)
data:JSON.atringfy({name:alex,age=18}) #{name:alex,age:18}
})
#body有值, POST无值
获取数据的话 json.loads(request.body) rest_framework解析器, 对请求体数据进行解析 from rest_framework.parsers import JSONParser,FormParser class ParseView(APIView):
"""
JSONParser:表示解析content-type:application/json头 常用这个
FormParser:表示解析application/x-www-form-urlencoded
"""
parser_classes = [JSONParser,FormParser]
def post(self, request, *args, **kwargs):
"""
允许用户发送JSON格式数据
a. content-type:application/json
b.{'name':'alex', 'age':18} 1.获取用户请求
2.获取用户请求体
3.获取用户请求头和parser_classes = [JSONParser, FormParser,]
4. JSONParser对象请求体
5.request.data
"""
#获取解析后的结果
print(request.data)
return HttpResponse('ParserView') 全局配置:
REST_FRAMEWORK = {
"DEFAULT_PARSER_CLASSES":['rest_framework.parsers.JSONParser','rest_framework.parsers.FormParser']
} 后期通过request.data传值 如果是上传
from rest_framework.parsers import FileUploadParser

rest_framework-解析器-总结完结篇的更多相关文章

  1. rest_framework解析器组件源码流程

    rest_framework解析器组件源码流程 解析器顾名思义就是对请求体进行解析.为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数 ...

  2. rest_framework(解析器 上)

    rest_framework 解析器 对请求题数据进行解析 url from django.conf.urls import url,include from cmdb import views ur ...

  3. rest_framework 解析器(下 全局配置使用)

    解析器 一般都是全局设置 参考文档 www.cnblogs.com/wupeiqi/articles/.html REST_FRAMEWORK=( "DEFAULT_PARSER_CLASS ...

  4. rest_framework:解析器

    一.解析器的作用 根据请求头content-type选择对应的解析器对请求体内容进行处理. 有application/json,x-www-form-urlencoded,form-data等格式 二 ...

  5. rest_framework之解析器详解 05

    解析器就是服务端写api,对于前端用户发来的数据进行解析.解析完之后拿到自己能用数据. 本质就是对请求体中的数据进行解析. django的解析器 post请求过来之后,django 的request. ...

  6. 「Django」rest_framework学习系列-解析器

    满足两个要求,request.Post中才有值 1.请求头要求:请求头中的Content-Type为application/x-www-form-urlencoded 2.数据格式要求 name=x& ...

  7. Django Rest Framework源码剖析(五)-----解析器

    一.简介 解析器顾名思义就是对请求体进行解析.为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数据格式,比如xml,所以需要解析这类数 ...

  8. spring配置多视图解析器

    最近做一个小项目(移动端),自己搭了个简单的SSM框架(spring + spring MVC + Mybitis),展示层本来选用的是jsp,各方便都已经搭建好,结果发现有些页面需要用到H5的一些功 ...

  9. rest framework 之解析器

    一.示例 1.api/urls.py from django.urls import path, re_path from api.views import UserView, ParserView ...

随机推荐

  1. POJ 3071

    求概率.其实跟枚举差不多,输入n即是要进行n轮比赛.对每一支球队,设求1的概率,首先1要与2比赛为p1,这是第一轮,第二轮时,1要与3(打败3为p2),4(打败4为p3)中胜者比赛,由于是概率,则两者 ...

  2. POJ 3696

    这里面的一个转换的小技巧很重要,把888...8转换成(10^x-1)/9*8.神来之笔,佩服. 这样有(10^x-1)/9*8=L*p得10^x-1=L*p*9/8,设m=9*L/gcd(L,8). ...

  3. [Python Test] Use pytest fixtures to reduce duplicated code across unit tests

    In this lesson, you will learn how to implement pytest fixtures. Many unit tests have the same resou ...

  4. PHP的curl库代码使用

    欢迎訪问个人原创地址: http://www.phpthinking.com/archives/468 使用PHP的cURL库能够简单和有效地去抓网页. 你仅仅须要执行一个脚本.然后分析一下你所抓取的 ...

  5. glove入门实战

    前两天怒刷微博,突然发现了刘知远老师分享的微博,顿时眼前一惊.原Po例如以下: http://weibo.com/1464484735/BhbLD70wa 因为我眼下的研究方向是word2vec.暗自 ...

  6. java web 服务器端处理json格式参数

    前面我们说了传递参数的两种访书,第一是key-value形式,第二是json格式,对于第一种我们在服务器端直接使用 request.getParameter("key");就能获取 ...

  7. 【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】

    [058-Length of Last Word (最后一个单词的长度)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given a string s consis ...

  8. Go语言结构体转json的坑

    Go语言结构体转json的坑 标签(空格分隔): go json.Marshal() JSON输出的时候必须注意,只有导出的字段(首字母是大写)才会被输出,如果修改字段名,那么就会发现什么都不会输出, ...

  9. rem 使用

    html{ font-size:12px; } .btn { width: 6rem; height: 3rem; line-height: 3rem; font-size: 2rem; displa ...

  10. activity(工作流)初步学习记录

    1.概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个预期 ...