解析器就是服务端写api,对于前端用户发来的数据进行解析。解析完之后拿到自己能用数据。
本质就是对请求体中的数据进行解析。
django的解析器
post请求过来之后,django 的request.body一定有值,request.post不一定有值。如果想让request.post有值,必须转为QueryDict类型的值。
1.urls.py
2.views.py
运行:
打印结果:
3.导入文件 解析器类
解析器类 源码流程
4.
post有值 要求1 请求头要求:
5.请求头要求:如果请求头中的 Content-Type: application/x-www-form-urlencoded,request.POST中才有值(去request.body中解析数据)。
post有值 要求2 数据格式要求:
name=xiaoming&age=18&gender=男
form表单、ajax请求:默认都是以上这种请求头和数据格式!
如果ajax请求设置请求头为json类型,那么post则没值。body里有值。
原生的django解析器:post有无值的情况