当前位置: 代码网 > it编程>前端脚本>Python > flask中获取各种请求数据的常见方法小结

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

2025年06月25日 Python 我要评论
获取查询字符串参数(get 请求)查询字符串参数一般在 url 里,以 ?key1=value1&key2=value2 这种形式存在。可通过 request.args 来获取。from fl

获取查询字符串参数(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获取请求数据内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com