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

作者:

文章目录
  • 查询字符串参数一般在 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)
  • 表单数据通常由 HTML 表单提交,能通过 request.form 来获取 form-data 和 x-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 格式,可使用 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)
  • 在 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获取请求数据内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Flask请求数据获取方法详解 Python flask框架请求体数据、文件上传、请求头信息获取方式详解 Python Flask 请求数据获取响应详解 Flask请求参数获取常用方式详解 使用Flask获取请求参数的方式总结 Flask处理POST请求的教程指南
  • 目录
    • 获取查询字符串参数(GET 请求)
    • 获取表单数据(POST 请求)
    • 获取 JSON 数据(POST、PUT 等请求)
    • 获取请求头信息
    • 获取上传文件
    • 同时获取 URL 查询字符串参数和表单数据

    查询字符串参数一般在 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)
    

    表单数据通常由 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 格式,可使用 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)
    

    在 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获取请求数据内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Flask请求数据获取方法详解
    • Python flask框架请求体数据、文件上传、请求头信息获取方式详解
    • Python Flask 请求数据获取响应详解
    • Flask请求参数获取常用方式详解
    • 使用Flask获取请求参数的方式总结
    • Flask处理POST请求的教程指南

    站内搜索