HTTP中的请求,以及flask中的request

Posted geeklove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP中的请求,以及flask中的request相关的知识,希望对你有一定的参考价值。

首先介绍一点前端的东西:

在前端操作中,让用户填写一个表单,上传一个文件,是一种常见的操作。

通常前端会用一种类似下面的方式将这些信息传到后端:

------WebKitFormBoundaryEBE0gvdaDiumD1Nj
Content-Disposition: form-data; name="data"

{"id":801,"name":"Smith"}
------WebKitFormBoundaryEBE0gvdaDiumD1Nj
Content-Disposition: form-data; name="t.py"; filename="t.py"
Content-Type: text/x-python-script


------WebKitFormBoundaryEBE0gvdaDiumD1Nj--

分析这种格式,首先可以看到,不同部分之间是使用Boundary隔离开的。

对Flask构建的后端来说,如何获取前端上传的这些信息呢?使用request即可

request对象是flask中的一个用来处理请求的对象。

当导入request对象之后:

from flask import request

就可以使用这个对象了

1 request.args.get("key") ,仅用于获取get的url中传入的参数

2 request.form.get("key", type=str, default=None) ,用于获取表单中传入的参数

3 request.values.get("key") 用于获取所有参数(推荐这种用法)

 文档中是这么写的:A CombinedMultiDict with the contents of both form and args.

4 request.files 获取上传的文件

其他更多的用法见文档

ref:http://flask.pocoo.org/docs/0.12/api/#incoming-request-data

 

以上是关于HTTP中的请求,以及flask中的request的主要内容,如果未能解决你的问题,请参考以下文章

flask:request对象

Flask中的http请求与响应

Flask之视图

Flask学习总结

Flask中的request与response

Flask第二章:Flask中的request