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获 ...
随机推荐
- node.js获取cookie
node.js 获取cookie var Cookies ={}; if (req.headers.cookie != null) { req.headers.cookie.split(';').fo ...
- 2.浅析Hadoop之YARN
YARN也是主从架构,主节点是ResourceManager,从节点是NodeManager,是一种资源分配及任务管理的组件 针对每个任务还有ApplicationMaster应用管理者和Contai ...
- PAT 1070 Mooncake
题目意思能搞成这样我也是服了这个女人了 #include <cstdio> #include <cstdlib> #include <vector> #includ ...
- PAT 1051 Pop Sequence
#include <cstdio> #include <cstdlib> #include <vector> using namespace std; bool p ...
- scale 和 zoom,以及zoom的一些变态用法
zoom和scale这两个东西都是用于对元素的缩放,一下是其中一些区别: 1.scale的缩小是以图片的中心,zoom的缩小是以图片的左上角. 2.zoom的缩放改变了元素占据的空间大小:而scale ...
- 模仿ecshop建立木瓜商城数据库(MySQL)
1. 安装ecshop(打开gd扩展) 2. 使用图形化界面工具,如phpmyadmin查看数据.(以前用命令行,主要锻炼代码熟练度!) # 建木瓜库 create database mugua ch ...
- Internet Of Things
- 用nodejs做一个svn密码修改页面
linux上配置好svn服务后,管理修改密码还得去手工修改passwd这个文件,略麻烦,其实网上应该有配套的web管理修改界面程序.但我想自己用nodejs写一个,因为用node不用配置复杂的服务器. ...
- RecycleView + SwipeRefreshLayout 实现下拉刷新和底部自动加载
前段时间项目里面使用了RecycleView 但是里面的刷新和加载都是框架里面封装好的,直接使用 这几天比较闲就自己来实现以下. 因为SwipeRefreshLayout是一个下拉刷新控件所有直接和R ...
- wxpython 设置鼠标样式
鼠标指针被设置为放大镜样式.可用的鼠标指针样式有: wx.CURSOR_ARROWwx.CURSOR_RIGHT_ARROWwx.CURSOR_BLANKwx.CURSOR_BULLSEYEwx.CU ...