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

[python][flask]flask接受get或者post参数

在 Flask 中,可以通过 request 对象来获取客户端通过 GET 或 POST 方法发送的参数。以下是如何在 Flask 中接收 GET 和 POST 参数的详细说明:

1. 接收 GET 参数

GET 请求的参数通常通过 URL 的查询字符串传递。例如,对于 URL http://example.com/?name=Kimi&age=25,可以通过 request.args 获取这些参数。

from flask import Flask, requestapp = Flask(__name__)@app.route('/get_example')
def get_example():# 获取 GET 参数name = request.args.get('name', default='Guest')  # 默认值为 'Guest'age = request.args.get('age', default=0, type=int)  # 默认值为 0,且转换为整数return f"Hello, {name}! Your age is {age}."if __name__ == '__main__':app.run(debug=True)
  • request.args 是一个类似字典的对象,可以通过 .get() 方法获取参数值。

  • 如果参数不存在,可以通过 default 参数指定默认值。

  • 可以通过 type 参数指定参数的类型(如 intfloat 等)。

2. 接收 POST 参数

POST 请求的参数可以通过表单数据或 JSON 数据传递。

接收表单数据

如果客户端通过表单发送数据(Content-Type: application/x-www-form-urlencodedmultipart/form-data),可以通过 request.form 获取参数。

from flask import Flask, requestapp = Flask(__name__)@app.route('/post_example', methods=['POST'])
def post_example():# 获取 POST 表单参数name = request.form.get('name', default='Guest')  # 默认值为 'Guest'age = request.form.get('age', default=0, type=int)  # 默认值为 0,且转换为整数return f"Hello, {name}! Your age is {age}."if __name__ == '__main__':app.run(debug=True)

 

接收 JSON 数据

如果客户端发送 JSON 数据(Content-Type: application/json),可以通过 request.jsonrequest.get_json() 获取参数。

 

from flask import Flask, requestapp = Flask(__name__)@app.route('/json_example', methods=['POST'])
def json_example():# 获取 POST JSON 数据data = request.get_json()  # 或 request.jsonname = data.get('name', 'Guest')  # 默认值为 'Guest'age = data.get('age', 0)  # 默认值为 0return f"Hello, {name}! Your age is {age}."if __name__ == '__main__':app.run(debug=True)

3. 同时接收 GET 和 POST 参数

如果需要同时支持 GET 和 POST 方法,可以通过 request.argsrequest.form 分别获取对应的参数。

from flask import Flask, requestapp = Flask(__name__)@app.route('/example', methods=['GET', 'POST'])
def example():if request.method == 'GET':name = request.args.get('name', default='Guest')age = request.args.get('age', default=0, type=int)elif request.method == 'POST':name = request.form.get('name', default='Guest')age = request.form.get('age', default=0, type=int)return f"Hello, {name}! Your age is {age}."if __name__ == '__main__':app.run(debug=True)

 

4. 通用方法

如果需要同时支持表单数据和 JSON 数据,可以使用 request.values,它会合并 request.argsrequest.form

from flask import Flask, requestapp = Flask(__name__)@app.route('/example', methods=['GET', 'POST'])
def example():name = request.values.get('name', default='Guest')age = request.values.get('age', default=0, type=int)return f"Hello, {name}! Your age is {age}."if __name__ == '__main__':app.run(debug=True)

总结

  • GET 参数:通过 request.args 获取。

  • POST 表单参数:通过 request.form 获取。

  • POST JSON 参数:通过 request.jsonrequest.get_json() 获取。

  • 通用方法:使用 request.values 合并 GET 和 POST 参数。

根据实际需求选择合适的方式即可。

http://www.lryc.cn/news/599171.html

相关文章:

  • 【调试Bug】网络在训练中输出NaN
  • 关于网络模型
  • 基于深度学习的图像分类:使用DenseNet实现高效分类
  • Lua(数据库访问)
  • 全新轻量化PHP网盘搜索引擎系统源码
  • SAP在未启用负库存的情况下,库存却出现了负数-补充S4 1709 BUG
  • NVM踩坑实录:配置了npm的阿里云cdn之后,下载nodejs老版本(如:12.18.4)时,报404异常,下载失败的问题解决
  • Day31| 56. 合并区间、738.单调递增的数字、968.监控二叉树
  • Chromadb 1.0.15 索引全解析:从原理到实战的向量检索优化指南
  • 规则分配脚本
  • Django集成Swagger全指南:两种实现方案详解
  • k8s的存储之secerts
  • 从零开始:在 PyCharm 中搭建 Django 商城的用户注册与登录功能(轮播图+商品页-小白入门版)
  • Qt 与 SQLite 嵌入式数据库开发
  • mid360连接机载电脑,远程桌面连接不上的情况
  • FunASR实时多人对话语音识别、分析、端点检测
  • 当人机交互迈向新纪元:脑机接口与AR/VR/MR的狂飙之路
  • c++注意点(10)----设计模式(原型)
  • 安装pyarrow包
  • SAP-PP-MRPLIST
  • MyBatis高级应用实战指南
  • Movavi Video Editor v25.9.0 视频编辑软件中文特别版
  • 星图云开发者平台新功能速递 | 页面编辑器:全场景编辑器,提供系统全面的解决方案
  • 纳米编辑器之Nano 编辑器退出**的详细操作指南
  • IAR编辑器如何让左侧的工具栏显示出来?
  • Hive【安装 01】hive-3.1.2版本安装配置(含 mysql-connector-java-5.1.47.jar 网盘资源)
  • Linux 网络与 Vim 编辑器操作
  • Unity编辑器拓展 IMGUI与部分Utility知识总结(代码+思维导图)
  • 数据仓库深度探索系列 | 开篇:开启数仓建设新征程
  • react中 多个层级 组件数据同用 组件之间传值 usecontext useReducer