阅读:57
ps:我们只对request.POST进行介绍
a. 格式(跟request.GET的参数非常像):
username=dbj&password=123&file=1755041963.jpeg.jpeg
b. 默认使用:
form表单&ajax,都默认的urlencode编码格式
c. django对urlencoded的处理:
django后端,针对符合urlencoded编码格式的数据,都会自动,帮你解析封装到request.POST中
d. django后端获取数据的模样:
<QueryDict: {'username': ['dbj'], 'password': ['123'], 'file': ['1755041963.jpeg.jpeg']}>
ps:补充QueryDict
a. 本质上继承了原生的dict
b. 字典能干的他都可以,字典不能干的,他基本上都不行
c. 就把他当成普通字典使用即可,中括号取值/赋值,get取值
a. 格式
类似与二进制的格式(在浏览器上看不到)
b. 默认使用:
无,一般我们上传文件的时候,使用该编码格式,在form表单里面添加一个属性即可
enctype="multipart/form-data"
c. django对formdata的处理:
如果你把编码格式改成formdata,
那么针对普通的键值对,还是解析到request.POST中,而将文件解析到request.FILES中
d. django后端获取数据的模样:
<QueryDict: {'username': ['dbj'], 'password': ['123']}>
<MultiValueDict: {'file': [<InMemoryUploadedFile: 1755041963.jpeg.jpeg (image/jpeg)>]}>
ps:补充MultiValueDict
a. 类似于字典,但是只能get获取里面的文件
a. 格式
{"username": "dbj", "password": "123"}
b. 默认使用:
一般前后端进行分离开发的时候,使用该格式
c. django对json的处理:
django后端不会帮你处理json格式数据需要你自己去request.body获取并处理
在request.bdy里面取出来的是bytes类型的,需要自己手动解码,反序列化