1. 前言
记录总结一下requests模块请求的参数或者请求正文的数据类型
2. 将str类型转成非str类型的方法
- 函数:eval()
格式:eval(expression[, globals[, locals]])
expression : 表达式。
globals : 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals : 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
print(eval('66+72')) # 把字符串解析成66+72的结果
print( eval("{'name':'linux','age':18}") ) # 把字符串转为字典
print( eval("[[1,2], [3,4], [5,6], [7,8], [9,0]]") ) # 把字符串转为列表
print(eval("{'name':'linux','age':age}",{"age":18})) # 传递globals参数值为{“age”:18}
age=18
print(eval("{'name':'linux','age':age}",{"age":20},locals())) # 传递locals参数
这种方法是不安全的,不推荐使用
3. post/get url请求参数param,以及post请求 data/json请求体的数据类型要求
param参数是拼接在url上的,在request.GET中获取。
data里是正文,根据Content-Type类型不同,分别在request.POST中获取,或者request.body。
ps:django中的request.POST只能取到Content-Type(请求头)为application/x-www-form-urlencoded(form表单默认格式)的数据,如果请求头为application/json(json格式),multipart/form-data(文件)等格式无法取到,只有在request.body里面能取到原生的数据。