request
request 就是flask中代表当前请求的 request 对象,其中一个请求上下文变量(理解成全局变量,在视图函数中直接使用可以取到当前本次请求)
常用的属性如下:
属性 | 说明 | 类型 |
---|---|---|
url | 记录请求的URL地址 | str |
method | 记录请求使用的HTTP方法 | str |
headers | 记录请求中的报文头 | EnvironHeaders 类字典对象 |
args | 记录请求中的查询参数 | MultiDict |
form | 记录请求中的表单数据 | MultiDict |
files | 记录请求上传的文件 | MultiDict[str: FileStorage] |
data | 记录请求的数据,并转换为字符串 | bytes |
cookies | 记录请求中的cookie信息 | Dict |
示例
- 获取上传的图片并保存到本地
@app.route('/', methods=['POST'])
def index():
pic = request.files.get('pic')
pic.save('./static/aaa.png')
return 'index'
GET 和 POST 的区别
- GET请求 的参数会设置在 URL的查询字符串部分。
- POST请求 的参数 会设置在 请求的请求体中。
-
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
-
从使用场景上, post往往都会携带数据,用于修改服务端数据, 而get的参数可有可无,即使有,也往往用于数据库查询的过滤条件,一般不会用于修改数据库数据