flask中的request
1、request是什么?
简单来说,它就是flask的封装的一个对象,这个对象包含着前端请求所带的所有信息。既然说它是一个对象,那么它肯定是有一些熟悉,和方法的,下面就来介绍下request里的熟悉,方法
request.form
: 里面就是一些表单数据,就是form标签里传递过来的数据request.data
: 请求体中的数据request.args
: url中携带的数据,就是?
后面所携带的,比如?name=zhuchunyu
request.cookies
: 携带过来的cookie值request.headers
: 请求头中的数据,以key:value的形式request.method
: 请求的方法request.json
: json格式的数据request.path
: 请求的路径(不包含ip地址和端口)request.url
: 请求的全路径(包括?后携带的参数)request.base_url
: 请求的全路径(不包括?后携带的参数)request.url_root
: 请求的IP地址和端口request.files
: 上传的文件
解释下为什么request.data
是空的,form
标签的数据也是放在请求体中的,它的打印效果就是这样,肯定就是把form
标签所传递的数据,放在了request.form
中,并且在request.data
中删除了,这样避免了重复的数据。
下面写一个简单的文件上传的例子吧
from flask import Flask, request
app = Flask(__name__)
@app.route("/upload", methods=["POST"], endpoint="upload")
def upload():
"""文件上传功能"""
file_obj = request.files.get("file")
if file_obj:
# 获取文件的名字,包括后缀
file_name = file_obj.filename
with open(file_name, 'wb') as f:
for line in file_obj:
f.write(line)
return "success !!"
else:
return "faild !!"
if __name__ == "__main__":
app.run(debug=True)
文件我就存放在当前执行文件的同一目录下,你可以自己更改目录位置
额额,还有就是我使用发请求的工具就是postman,很好的一款后端测试工具,这样就不必要在写前端页面的。对了,上面我写上传文件的函数其实还有一种写法。
@app.route("/upload", methods=["POST"], endpoint="upload")
def upload():
"""文件上传功能"""
file_obj = request.files.get("file")
if file_obj:
file_name = file_obj.filename
file_obj.save(file_name)
return "success !!"
else:
return "faild !!"
直接调用flask中文件对象的save
方法,把文件名传递进去好了,它默认是保存在当前目录中,如果你想保存在其他目录的话,那么上面的file_name
你可以进行os.path.join
。
request
就先讲到这里,reuqets
还有上下文管理没写,后面再写
flask中的request的更多相关文章
- 第三篇 Flask 中的 request
第三篇 Flask 中的 request 每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前 ...
- Flask中的request模板渲染Jinja以及Session
Flask中的request与django相似介绍几个常用的以后用的时候直接查询即可 1.request from flask import request(用之前先引用,与django稍有不同) r ...
- Flask最强攻略 - 跟DragonFire学Flask - 第三篇 Flask 中的 request 之 先知道有这么个东西
每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...
- 深入flask中的request
缘起 在使用flask的时候一直比较纳闷request是什么原理,他是如何保证多线程情况下对不同请求参数的隔离的. 准备知识 在讲request之前首先需要先理解一下werkzeug.local中的几 ...
- flask中的request和response
1.request 1.request的常用成员 1.scheme : 获取请求方案(协议) 2.method : 获取本期请求的请求方式(重点) 3.args : 获取使用get请求方式提交的数据 ...
- 4,Flask 中的 request
每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...
- Flask 中的 request 之 先知道有这么个东西
每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...
- 第三篇 Flask中的request
每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的,下面我们来了解一下Flask的request中都有什么东西 from flask import request 1 ...
- flask中获取request的参数的方法
request请求总体分为两类: 1.get请求 访问时会在地址栏直接显示参数不安全,且参数大小比较小. 2.post请求 参数不显示在地址栏,一般用户注册.登录都通过post请求完成. flask获 ...
随机推荐
- 使用c#正则验证关键字并找出匹配项
在.net里,使用类Regex可以正则验证一些关键字并取出匹配项. 1.使用Regex.IsMatch(string input, string pattern, RegexOptions ...
- mvc中在Action里调用另一个Action
今天做东西时发现一个新东西.即在一个Action调用另一Action.前提是同一个控制器.(没在一个控制里的没试过) 调用方法: public ActionResult Test1(){ //to ...
- Jms学习篇二:ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线 安装 1>下载:到http://activemq.apache.org/download.html 下载最新版本, 解压a ...
- 15分钟完成基于Azure公有云搭建远程测试环境
- 爬虫入门之jsonPath PhantomJS与 selenium详解(六)
1 jsonPath数据格式 pip安装: pip install jsonpath 用来解析json格式的字符串,类似于xpath (1) json对象的转换 json.loads() json.d ...
- javascript正则表达式 - 学习笔记
JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...
- 增强for循环 java.util.ConcurrentModificationException
Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元 ...
- 源码安装mysql5.6.37
MYSQL 源码安装: 修改参数文件:vi /etc/security/limits.confmysql soft nproc 2047mysql hard nproc 16384mysql soft ...
- JS interview loop code
//九九乘法表 document.write("<table width='600' border=0'>"); for(var i=1; i<=9; i++){ ...
- 关于 org.hibernate.TransientObjectException 异常
在Hibernate的关联关系中,如果一个对象A 持有 对象 B 的引用,如果先保存 A ,再保存B,那么会出现 org.hibernate.TransientObjectException 异常. ...