当前位置: 首页 > news >正文

[flask]http请求//获取请求体数据

import jsonfrom flask import Flask, requestapp = Flask(__name__)@app.route("/form1", methods=["post"])
def form1():"""获取客户端请求的请求体[表单]:return:""""""获取表单数据请求url:""""""获取表单数据[不包含上传文件]"""#print(request.form)# # ImmutableMultiDict([('username', 'root'), ('password', '123456'), ('fav', 'swimming'), ('fav', 'watch TV')])# # 获取表单项数据[单个值]#print(request.form.get("username")) # root# # 获取表单项数据[多个值]#print(request.form.getlist("fav"))  # ['swimming', 'watch TV']"""获取表单数据的上传文件"""#print(request.form.get("username"))# # 获取所有上传文件#print(request.files)  # ImmutableMultiDict([('avatar', <FileStorage: 's.png' ('image/png')>)])# # 根据name值获取单个上传文件#print(request.files.get("pt"))  # <FileStorage: 's.png' ('image/png')># # 根据name值获取多个上传文件#print(request.files.getlist("pt"))  # [<FileStorage: 'a.png' ('image/png')>, <FileStorage: 's.png' ('image/png')>]return "hello, flask"@app.route("/data", methods=["post"])
def data():"""获取客户端请求的请求体[ajax]:return:""""""判断本次客户端是否是ajax请求获取本次客户端提交的数据格式是否是json"""print(request.is_json)"""获取客户端请求体中的json数据"""print(request.json)  # {'username': 'root', 'password': '123456'}"""获取客户端请求体的原始数据"""print(request.data)  # b'{\n  "username": "root",\n  "password": "123456"\n}'# 原始数据转json格式print(json.loads(request.data))  # {'username': 'root', 'password': '123456'}"""接收其他格式类型的数据"""# print(request.data)return "hello, flask"@app.route("/file", methods=["post", "put", "patch"])
def file():"""接收上传文件并保存文件:return:"""pt = request.files.get("pt")print(pt)# 调用FileStorage提供的save方法就可以保存文件了pt.save("./avatar.png")#文件会保存在代码路径下return "hello, flask"if __name__ == '__main__':app.run(host="0.0.0.0", port=5000, debug=True)

表单数据上传/不包含文件

表单数据上传/包含文件

左边目录可看到多了一个文件

客户端请求体数据//  右边的数据类型记得设置为json

相关文章:

  • 网络七层模型之会话层:理解网络通信的架构(五)
  • MATLAB 自定义中值滤波(54)
  • 住宅IP是什么?与机房IP有哪些区别?
  • SpringMVC源码分析(六)--参数名称解析器
  • 左手医生:医疗 AI 企业的云原生提效降本之路
  • 线程安全(二)--死锁
  • C#_事件_多线程(基础)
  • CCF考级 1-8级考纲知识点
  • 面试吹牛宝典
  • Linux内核err.h文件分析
  • springboot基本使用八(mbatisplus+filter实现登录功能)
  • ADC重要的信噪比公式是怎么来的?
  • Python自动连接SSH
  • Redis入门三(主从复制、Redis哨兵、Redis集群、缓存更新策略、缓存穿透、缓存击穿、缓存雪崩)
  • 算法学习——LeetCode力扣动态规划篇8
  • 【刷算法】求1+2+3+...+n
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • CentOS7简单部署NFS
  • C语言笔记(第一章:C语言编程)
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • in typeof instanceof ===这些运算符有什么作用
  • Java-详解HashMap
  • Netty源码解析1-Buffer
  • scala基础语法(二)
  • TCP拥塞控制
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 订阅Forge Viewer所有的事件
  • 分布式任务队列Celery
  • 离散点最小(凸)包围边界查找
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 我的zsh配置, 2019最新方案
  • 学习笔记TF060:图像语音结合,看图说话
  • 译有关态射的一切
  • 阿里云API、SDK和CLI应用实践方案
  • 阿里云服务器如何修改远程端口?
  • ​学习一下,什么是预包装食品?​
  • #pragma once与条件编译
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $GOPATH/go.mod exists but should not goland
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (接口自动化)Python3操作MySQL数据库
  • (区间dp) (经典例题) 石子合并
  • (五)IO流之ByteArrayInput/OutputStream
  • (一) springboot详细介绍
  • (转)scrum常见工具列表
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .NET Micro Framework初体验(二)
  • .NET Remoting学习笔记(三)信道
  • .NET 药厂业务系统 CPU爆高分析
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET/C# 使用反射注册事件