感谢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

最新文章

  1. iOS Block 内存管理的探讨
  2. spring security防御会话伪造session攻击
  3. Win7下通过eclipse远程连接CDH集群来执行相应的程序以及错误说明
  4. Android启停调试
  5. 超简单的NDK单步调试方法
  6. Css background缩写
  7. linux多线程编程之互斥锁
  8. hive编程指南--employees表数据定义
  9. IOS获取经度纬度
  10. ThreadLocal基本原理及运用
  11. 什么是 ajax?----异步 javascript 和 xml
  12. SQL中的Join和Where的区别
  13. CDI
  14. 关于C#中break和continue的认识
  15. Spring集成JUnit单元测试框架
  16. Android: SlidingDrawer(滑动式抽屉)
  17. 关于在win8系统下用VMware 9.0装系统导致物理机不断重启的解决办法
  18. java中四舍五入——double转BigDecimal的精度损失问题
  19. 华为手机安装 charles 证书
  20. curl get请求

热门文章

  1. [AngularJS]Chapter 5 与服务器交互
  2. [CSS3] The different of Background-size between &#39;cover&#39; and &#39;contain&#39;
  3. 2015级C++第2周实践项目
  4. IOS假设将一个十六进制的color转换成UIColor,非常有用
  5. lua简单类的实现
  6. JavaScript DOM(一)
  7. 基于对话框的应用程序,点击button打开一个网页
  8. iptables 防火墙 只允许某IP访问某端口、访问特定网站
  9. 安卓通过OkHttp获取json数据
  10. hiho1469 - 简单dp