flask中获取各种请求数据的常见方法小结

 更新时间:2025年06月25日 09:24:58   作者:小龙在山东  
在 Flask 里,能使用多种方法获取不同类型的请求数据,这篇文章为大家详细介绍了Flask中常见请求数据的获取方式,有需要的小伙伴可以参考一下

获取查询字符串参数(GET 请求)

查询字符串参数一般在 URL 里,以 ?key1=value1&key2=value2 这种形式存在。可通过 request.args 来获取。

from flask import Flask, request

app = Flask(__name__)

@app.route('/get_params')
def get_params():
    # 获取单个参数
    name = request.args.get('name')
    age = request.args.get('age', type=int)  # 指定参数类型

    # 获取所有参数
    all_params = request.args.to_dict()

    return f"Name: {name}, Age: {age}, All params: {all_params}"

if __name__ == '__main__':
    app.run(debug=True)

获取表单数据(POST 请求)

表单数据通常由 HTML 表单提交,能通过 request.form 来获取 form-datax-www-form-urlencoded 数据。

from flask import Flask, request

app = Flask(__name__)

@app.route('/submit_form', methods=['POST'])
def submit_form():
    # 获取单个表单字段
    username = request.form.get('username')
    password = request.form.get('password')

    # 获取所有表单字段
    all_form_data = request.form.to_dict()

    return f"Username: {username}, Password: {password}, All form data: {all_form_data}"

if __name__ == '__main__':
    app.run(debug=True)

获取 JSON 数据(POST、PUT 等请求)

如果请求数据是 JSON 格式,可使用 request.get_json() 方法获取。

from flask import Flask, request

app = Flask(__name__)

@app.route('/submit_json', methods=['POST'])
def submit_json():
    # 获取 JSON 数据
    data = request.get_json()

    if data:
        name = data.get('name')
        age = data.get('age')
        return f"Name: {name}, Age: {age}"
    else:
        return "No valid JSON data provided", 400

if __name__ == '__main__':
    app.run(debug=True)

获取请求头信息

请求头信息可通过 request.headers 来获取。

from flask import Flask, request

app = Flask(__name__)

@app.route('/get_headers')
def get_headers():
    # 获取单个请求头
    user_agent = request.headers.get('User-Agent')

    # 获取所有请求头
    all_headers = dict(request.headers)

    return f"User-Agent: {user_agent}, All headers: {all_headers}"

if __name__ == '__main__':
    app.run(debug=True)

获取上传文件

文件上传请求的数据能通过 request.files 来获取。

from flask import Flask, request

app = Flask(__name__)

@app.route('/upload_file', methods=['POST'])
def upload_file():
    # 获取上传的文件
    file = request.files.get('file')

    if file:
        # 保存文件
        file.save('uploaded_file.txt')
        return "File uploaded successfully"
    else:
        return "No file provided", 400

if __name__ == '__main__':
    app.run(debug=True)

同时获取 URL 查询字符串参数和表单数据

在 Flask 里, request.values 是一个特殊的 MultiDict 对象,它将 request.args (用于获取 URL 查询字符串参数)和 request.form (用于获取表单数据)结合起来,提供了一种统一的方式来访问 GET 和 POST 请求中的数据。

from flask import Flask, request

app = Flask(__name__)

@app.route('/mixed_data', methods=['GET', 'POST'])
def mixed_data():
    param1 = request.values.get('param1')
    param2 = request.values.get('param2')
    return f"Param1: {param1}, Param2: {param2}"

if __name__ == '__main__':
    app.run(debug=True)

  • request.values 会优先获取表单数据,如果表单数据和查询字符串参数有同名的键,会返回表单数据的值。
  • 对于 JSON 数据和文件上传数据, request.values 无法获取,需要使用 request.get_json()request.files 来处理。

到此这篇关于flask中获取各种请求数据的常见方法小结的文章就介绍到这了,更多相关flask获取请求数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python实现网络运维自动化的实战案例

    利用Python实现网络运维自动化的实战案例

    Python作为一种简洁而强大的编程语言,已经成为网络运维自动化的热门选择,本文将介绍如何利用Python实现网络设备配置管理、监控和故障排除等自动化任务,并提供代码示例,需要的朋友可以参考下
    2024-03-03
  • Pandas数值排序 sort_values()的使用

    Pandas数值排序 sort_values()的使用

    本文主要介绍了Pandas数值排序 sort_values()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python matplotlib包图像配色方案分享

    python matplotlib包图像配色方案分享

    这篇文章主要介绍了python matplotlib包图像配色方案分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python中使用NumPy进行数据处理方式

    Python中使用NumPy进行数据处理方式

    这篇文章主要介绍了Python中使用NumPy进行数据处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Django+Celery实现定时任务的示例

    Django+Celery实现定时任务的示例

    Celery是一个基于python开发的分布式任务队列,而做python WEB开发最为流行的框架莫属Django,本示例使用主要依赖包Django+Celery实现定时任务,感兴趣的朋友一起看看吧
    2021-06-06
  • python中的条件赋值判断语句语法

    python中的条件赋值判断语句语法

    这篇文章主要介绍了python条件赋值判断语句语法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 基于Python实现的恋爱对话小程序详解

    基于Python实现的恋爱对话小程序详解

    这篇文章主要介绍了基于Python制作一个恋爱对话小程序,文章详细介绍了小程序的实现过程,感兴趣的小伙伴可以跟随小编一起学习学习
    2022-01-01
  • Python时间和字符串转换操作实例分析

    Python时间和字符串转换操作实例分析

    这篇文章主要介绍了Python时间和字符串转换操作,结合实例形式分析了Python时间的格式化输出、时间戳转换、datetime转换字符串等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • Python多线程的使用详情

    Python多线程的使用详情

    这篇文章主要介绍了Python多线程的使用详情,线程之间执行是无序的,cpu调度哪个线程就执行哪个线程,下文相关介绍需要的小伙伴可以参考一下
    2022-04-04
  • python实现代码统计器

    python实现代码统计器

    这篇文章主要为大家详细介绍了python实现代码统计器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09

最新评论