1.request中包含了前端发送过来的所有数据 ,请求的 request 对象中保存了一次HTTP请求的一切信息。

通过request.from可以直接发送提取请求体中的表单格式数据,是一个类字典的对象

通过get方法只能拿到多个重名参数的第一个

2. reques常用的属性:

4.这里会用到Postman工具

下载:打开官网,https://www.getpostman.com

安装:http://www.cnblogs.com/mafly/p/postman.html

Postman的使用:https://blog.csdn.net/fxbin123/article/details/80428216

5.获取前端发过来的数据

1.对表单类型:  request.form.get()

注意 :    如果get里面的参数是相同的,则只能获取到多个同名参数的第一个

可以通过request.form.getlist()  # 获取到相同参数的所有数据,返回的是一个列表类型

2.对 url地址里面所带的查询字符串  request.args.get()

from flask import Flask, requestapp = Flask(__name__)
"""
127.0.0.1:5000/index?city=shanxi&country=china
问号以后的称为  查询字符串(QueryString),有多个时,用 & 区分
对查询字符串用request.args.get()来获取响应的值
"""
'''接口 api: 即一个视图函数加上所对应的路由'''
@app.route("/index", methods=["GET", "POST"])
def index():"""request中包含了前端发送过来的所有数据from和data是用来去提取请求体的数据通过request.from可以直接发送提取请求体中的表单格式数据,是一个类字典的对象通过get方法只能拿到多个重名参数的第一个"""    name = request.form.get("name")age = request.form.get("age")city = request.args.get("city")name_li = request.form.getlist("name")"""如果请求体的数据不是表单格式的(如json格式,可以通过request.data获取)"""print("request.data: %s"%request.data)  # 打印出不是表单格式的数据return "index page name=%s , age=%s , city=%s , name_li=%s"%(name,age,city,name_li)if __name__ == '__main__':app.run(debug=True)

6.运行程序    打开Postman, 选择POST-->x-www-form-urlencoded-->看看headers的类型是不是x-www-form-urlencoded类型

输入相应的键值对,然后点击Send,运行结果如图:

6.   request属性里面有,method属性:,,记录请求使用的HTTP方法

if request.method == "GET":"""GET请求对应逻辑"""pass
elif request.method == "POST":"""POST请求对应逻辑"""pass

7.request中的files属性,,,记录请求上传的文件

已上传的文件存储在内存或是文件系统中一个临时的位置。你可以通过请求对象的 files 属性访问它们。

每个上传的文件都会存储在这个字典里。它表现近乎为一个标准的 Python file 对象,

但它还有一个 save() 方法,这个方法允许你把文件保存到服务器的文件系统上。

from flask import Flask, requestapp = Flask(__name__)'''因为是文件,所以只能是POST方式'''
@app.route("/upload", methods=["POST"])
def upload():"""接受前端传送来的文件"""file_obj = request.files.get("pic")if file_obj is None:# 表示没有发送文件return "未上传文件"'''将文件保存到本地(即当前目录)直接使用上传的文件对象保存'''file_obj.save('pic.jpg')  # 和前端上传的文件类型要相同return "上传成功"# 将文件保存到本地(即当前目录) 普通的保存方法# with open("./pic.jpg",'wb') as f:#     data = file_obj.read()#     f.write(data)#     return "上传成功"if __name__ == '__main__':app.run(debug=True)

把前端上传的数据保存后端,利用Postman工具-->Body选择form-data 类型-->设置键值对,类型为file,选择一张照片

注意照片的类型要保存图片的类型一致,

然后运行上面的程序,成功显示上传成功,然后到后端,即当前的py文件所在的

目录就有前端上传的图片

如果你要把文件按客户端提供的文件名存储在服务器上,那么请把它传递给 Werkzeug 提供的 secure_filename() 函数:

名称就可以设置为:    secure_filename(file.filename))   #   file获取到的前端的文件

8.对于其他的类型,可以参考上图中的request常用属性,,,注意返回的类型

Flask框架(flask中的request对象,获取请求参数,保存上传的文件)相关推荐

  1. Servlet | HttpServletRequest接口、通过request接口获取请求参数

    目录 一:HttpServletRequest接口 二:通过request接口获取请求参数 一:HttpServletRequest接口 (1)HttpServletRequest是一个接口,全限定名 ...

  2. postman发送post请求,用request.getParameter()获取请求参数

    1.接口代码 @RequestMapping("notifyUrl")   public void notifyUrl(HttpServletRequest request, Ht ...

  3. 示例Express中路由规则及获取请求参数

    本次给大家分享一篇基于express中路由规则及获取请求参数的方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. express中常见的路由规则 ...

  4. 【Servlet】request对象获取请求头数据和用户数据

    request对象学习 /*** request对象学习:* 作用:request对象中封存了当前请求的所有请求信息* 使用:* 获取请求头数据* req.getMethod();//获取请求方式* ...

  5. 获取请求参数通用方式|| 中文乱码问题||请求转发

    1. 获取请求参数通用方式:不论get还是post请求方式都可以使用下列方法来获取请求参数 1. String getParameter(String name):根据参数名称获取参数值    use ...

  6. 通过request对象获取客户端请求信息

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  7. django-视图中的request对象的属性

    本篇介绍的属性都是视图函数中request对象的 可以通过下面方式获取值 request.属性名 详情看说明: path 请求的页面完整路径 method 浏览器的请求方式 值为'POST' 或者 ' ...

  8. java中的request对象_java中request对象各种方法的使用实例分析

    本文实例讲述了java中request对象各种方法的使用.分享给大家供大家参考,具体如下: request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息.request对象是 ...

  9. django中的request对象详解

    Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将 HttpRequest对象 作为第一个参数传入该函数. 我们来看一看这个HttpRequest对象有 ...

最新文章

  1. 面试问题-使用Java线程做数学运算
  2. Python:lambda表达式的两种应用场景
  3. 快速WinForm开发
  4. python语音命名规则_python语音变量命名规则
  5. CC2538相关资料
  6. LinkedHashMap转对象
  7. script-百度换肤效果
  8. 【POJ3889】Fractal Streets(分形图)
  9. 分类问题的label为啥必须是 one hot 形式?
  10. oracle structure,oracle memory structure
  11. 惠普打印机介质不匹配_HP打印机驱动安装失败的解决办法
  12. 二叉树线索化示意图_二叉树线索化
  13. (4)[Tensorflow]L2正则化和collection【tf.GraphKeys】
  14. Android小程序-涂鸦板
  15. 14015problem I 方案数
  16. 逃离美国,跨越8000公里远程办公,他开发了世界上最强的虚拟机
  17. 调用麦克风列阵进行录音
  18. 牛客网在线编程全部题目
  19. rrpp协议如何修改_【网安学术】基于NQA策略的RRPP优化机制
  20. 设置3389端口远程终端服务方案解析

热门文章

  1. java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
  2. linux安装autossh详细教程,在Linux下安装autossh的教程
  3. 《移动应用开发》作业——JavaScript
  4. 汇编语言——《子程序应用(数制转换)程序设计》实验报告
  5. Spring Security——org.springframework.security.oauth:spring-security-oauth2项目已过时解决方案
  6. Jupyter Notebook——设置远程服务器登陆
  7. Songs Compression
  8. semget创建文件_linux信号灯操作
  9. android清空frame,android – GLSurfaceView onDrawFrame清除行为
  10. Android属性动画 实战-视差动画