flask中獲取各種請求數(shù)據(jù)的常見方法小結(jié)
獲取查詢字符串參數(shù)(GET 請求)
查詢字符串參數(shù)一般在 URL 里,以 ?key1=value1&key2=value2 這種形式存在。可通過 request.args 來獲取。
from flask import Flask, request
app = Flask(__name__)
@app.route('/get_params')
def get_params():
# 獲取單個參數(shù)
name = request.args.get('name')
age = request.args.get('age', type=int) # 指定參數(shù)類型
# 獲取所有參數(shù)
all_params = request.args.to_dict()
return f"Name: {name}, Age: {age}, All params: {all_params}"
if __name__ == '__main__':
app.run(debug=True)

獲取表單數(shù)據(jù)(POST 請求)
表單數(shù)據(jù)通常由 HTML 表單提交,能通過 request.form 來獲取 form-data 和 x-www-form-urlencoded 數(shù)據(jù)。
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 數(shù)據(jù)(POST、PUT 等請求)
如果請求數(shù)據(jù)是 JSON 格式,可使用 request.get_json() 方法獲取。
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit_json', methods=['POST'])
def submit_json():
# 獲取 JSON 數(shù)據(jù)
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)

獲取上傳文件
文件上傳請求的數(shù)據(jù)能通過 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 查詢字符串參數(shù)和表單數(shù)據(jù)
在 Flask 里, request.values 是一個特殊的 MultiDict 對象,它將 request.args (用于獲取 URL 查詢字符串參數(shù))和 request.form (用于獲取表單數(shù)據(jù))結(jié)合起來,提供了一種統(tǒng)一的方式來訪問 GET 和 POST 請求中的數(shù)據(jù)。
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會優(yōu)先獲取表單數(shù)據(jù),如果表單數(shù)據(jù)和查詢字符串參數(shù)有同名的鍵,會返回表單數(shù)據(jù)的值。- 對于 JSON 數(shù)據(jù)和文件上傳數(shù)據(jù),
request.values無法獲取,需要使用request.get_json()和request.files來處理。
到此這篇關(guān)于flask中獲取各種請求數(shù)據(jù)的常見方法小結(jié)的文章就介紹到這了,更多相關(guān)flask獲取請求數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何在Apache中運行Python WSGI應(yīng)用
在生產(chǎn)環(huán)境上,一般會使用比較健壯的Web服務(wù)器,如Apache來運行我們的應(yīng)用,本文中我們就會介紹如何使用Apache模塊mod_wsgi來運行Python WSGI應(yīng)用。感興趣的小伙伴們可以參考一下2019-01-01
Python 玩轉(zhuǎn)圖像格式轉(zhuǎn)換操作
這篇文章主要介紹了Python 玩轉(zhuǎn)圖像格式轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
詳解Python如何實現(xiàn)壓縮與解壓縮數(shù)據(jù)
當(dāng)數(shù)據(jù)量大的時候,自然而然想到的就是對數(shù)據(jù)進行壓縮,這篇文章主要為大家介紹了Python可以實現(xiàn)壓縮與解壓縮數(shù)據(jù)的相關(guān)模塊的使用,希望對大家有所幫助2024-02-02
Python高效實現(xiàn)刪除Excel重復(fù)數(shù)據(jù)的三種方法
在?Excel?數(shù)據(jù)處理過程中,刪除重復(fù)數(shù)據(jù)是最常見的數(shù)據(jù)清理操作之一,使用?Python?進行?Excel?去重更加高效、可靠,并支持批量處理和自動化,下面我們就來看看具體的實現(xiàn)方法吧2025-12-12

