最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Flask獲取請求參數(shù)的方式總結(jié)

 更新時間:2025年04月27日 10:45:56   作者:流煙默  
在 Flask 中,可以從 request 對象中獲取各種類型的參數(shù),這篇文章為大家整理了一些常見的獲取參數(shù)的方式及示例代碼,感興趣的小伙伴可以參考一下

在 Flask 中,可以從 request 對象中獲取各種類型的參數(shù)。以下是全面整理的獲取參數(shù)的方式及示例代碼。

1. 獲取 URL 查詢參數(shù)(Query String Parameters)

URL 中的查詢參數(shù)通過 ?key=value&key2=value2 的形式傳遞,使用 request.args 獲取。

示例:

from flask import Flask, request

app = Flask(__name__)

@app.route('/query')
def get_query_params():
    param1 = request.args.get('param1', default=None, type=str)  # 獲取單個參數(shù)
    param2 = request.args.getlist('param2')  # 獲取多個同名參數(shù)
    return f"param1: {param1}, param2: {param2}"

# 測試 URL: http://127.0.0.1:5000/query?param1=value1&param2=value2&param2=value3

2. 獲取表單數(shù)據(jù)(Form Data)

當(dāng)請求方法為 POST 或 PUT 時,可以通過 request.form 獲取表單數(shù)據(jù)。

示例:

@app.route('/form', methods=['POST'])
def get_form_data():
    name = request.form.get('name', default=None, type=str)  # 獲取單個參數(shù)
    age = request.form.get('age', default=0, type=int)  # 獲取并轉(zhuǎn)換為整數(shù)
    return f"name: {name}, age: {age}"

# 測試:使用 Postman 或 curl 提交表單數(shù)據(jù)

3. 獲取 JSON 數(shù)據(jù)

當(dāng)客戶端發(fā)送 JSON 格式的數(shù)據(jù)時,可以使用 request.json 獲取解析后的字典。

示例:

@app.route('/json', methods=['POST'])
def get_json_data():
    data = request.json  # 獲取 JSON 數(shù)據(jù)
    name = data.get('name', None)
    age = data.get('age', 0)
    return f"name: {name}, age: {age}"

# 測試:使用 Postman 或 curl 提交 JSON 數(shù)據(jù)
# 請求頭:Content-Type: application/json
# 請求體:{"name": "Alice", "age": 25}

4. 獲取文件上傳(File Uploads)

當(dāng)上傳文件時,可以通過 request.files 獲取文件對象。

示例:

@app.route('/upload', methods=['POST'])
def upload_file():
    file = request.files.get('file')  # 獲取上傳的文件
    if file:
        filename = file.filename
        file.save(f"./{filename}")  # 保存文件到本地
        return f"File uploaded: {filename}"
    return "No file uploaded"

# 測試:使用 Postman 或 curl 提交文件

5. 獲取路徑參數(shù)(Route Parameters)

路徑參數(shù)是通過 URL 路徑定義的動態(tài)部分,使用 <variable_name> 定義,并在函數(shù)中接收。

示例:

@app.route('/user/<username>')
def get_user(username):
    return f"Hello, {username}!"

# 測試 URL: http://127.0.0.1:5000/user/Alice

6. 獲取原始請求體(Raw Body)

如果需要直接獲取請求的原始內(nèi)容,可以使用 request.data 或 request.get_data()。

示例:

@app.route('/raw', methods=['POST'])
def get_raw_data():
    raw_data = request.data.decode('utf-8')  # 獲取并解碼原始數(shù)據(jù)
    return f"Received raw data: {raw_data}"

# 測試:提交任意格式的原始數(shù)據(jù)

7. 獲取 Headers

通過 request.headers 獲取請求頭信息。

示例:

@app.route('/headers')
def get_headers():
    user_agent = request.headers.get('User-Agent')  # 獲取 User-Agent
    host = request.headers.get('Host')  # 獲取 Host
    return f"User-Agent: {user_agent}, Host: {host}"

# 測試:訪問任意 URL

8. 獲取 Cookies

通過 request.cookies 獲取客戶端發(fā)送的 Cookie。

示例:

@app.route('/cookies')
def get_cookies():
    session_id = request.cookies.get('session_id', default=None)  # 獲取 Cookie
    return f"Session ID: {session_id}"

# 測試:設(shè)置 Cookie 并訪問

9. 獲取 Method 類型

通過 request.method 獲取當(dāng)前請求的方法類型(如 GET, POST 等)。

示例:

@app.route('/method', methods=['GET', 'POST'])
def get_method():
    return f"Request method: {request.method}"

# 測試:分別用 GET 和 POST 方法訪問

10. 獲取完整的 URL

通過 request.url 獲取完整的請求 URL。

示例:

@app.route('/url')
def get_full_url():
    return f"Full URL: {request.url}"

# 測試:訪問任意 URL

總結(jié)

方式使用場景屬性/方法
查詢參數(shù)URL 中的鍵值對request.args
表單數(shù)據(jù)HTML 表單提交request.form
JSON 數(shù)據(jù)客戶端發(fā)送 JSON 格式數(shù)據(jù)request.json
文件上傳文件上傳request.files
路徑參數(shù)動態(tài)路由中的參數(shù)函數(shù)參數(shù)
原始請求體獲取未解析的請求體request.data
Headers獲取請求頭信息request.headers
Cookies獲取客戶端發(fā)送的 Cookierequest.cookies
Method 類型獲取請求方法類型request.method
完整 URL獲取完整的請求 URLrequest.url

以上方法涵蓋了 Flask 中從 request 對象獲取參數(shù)的主要方式,根據(jù)實(shí)際需求選擇合適的方式即可。

到此這篇關(guān)于使用Flask獲取請求參數(shù)的方式總結(jié)的文章就介紹到這了,更多相關(guān)Flask獲取請求參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

虎林市| 济宁市| 泾阳县| 油尖旺区| 普兰县| 扶沟县| 枣阳市| 皮山县| 梁平县| 越西县| 丹东市| 广灵县| 德保县| 突泉县| 金昌市| 高密市| 津南区| 兴国县| 奎屯市| 卫辉市| 谢通门县| 江川县| 桦甸市| 长沙市| 庄河市| 农安县| 依兰县| 揭东县| 武宣县| 阿勒泰市| 平塘县| 通化县| 天长市| 龙州县| 泗洪县| 惠水县| 红河县| 楚雄市| 鹰潭市| 静安区| SHOW|