flask获取get请求数据 flask中获取各种请求数据的常见方法小结 fla
目录
- 获取查询字符串参数(GET 请求)
- 获取表单数据(POST 请求)
- 获取 JSON 数据(POST、PUT 等请求)
- 获取请求头信息
- 获取上传文件
- 同时获取 URL 查询字符串参数和表单数据
获取查询字符串参数(GET 请求)
查询字符串参数一般在 URL 里,以 ?key1=value1&key2=value2
这种形式存在。可通过 request.args
来获取。
from flask import Flask, requestapp = 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-data
和 x-www-form-urlencoded
数据。
from flask import Flask, requestapp = 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, requestapp = 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”, 400if __name__ == ‘__main__’: app.run(debug=True)
获取请求头信息
请求头信息可通过 request.headers
来获取。
from flask import Flask, requestapp = 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, requestapp = 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”, 400if __name__ == ‘__main__’: app.run(debug=True)
同时获取 URL 查询字符串参数和表单数据
在 Flask 里, request.values
一个独特的 MultiDict
对象,它将 request.args
(用于获取 URL 查询字符串参数)和 request.form
(用于获取表单数据)结合起来,提供了一种统一的方式来访问 GET 和 POST 请求中的数据。
from flask import Flask, requestapp = 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请求数据获取技巧详解
- Pythonflask框架请求体数据、文件上传、请求头信息获取方式详解
- Python Flask 请求数据获取响应详解
- Flask请求参数获取常用方式详解
- 使用Flask获取请求参数的方式拓展资料
- Flask处理POST请求的教程指南