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

詳解flask中如何獲取不請(qǐng)求方式的參數(shù)

 更新時(shí)間:2024年04月03日 09:47:05   作者:ignativs?amor  
這篇文章主要詳細(xì)介紹了在flask中如何獲取不請(qǐng)求方式的參數(shù),文中給出了詳細(xì)的代碼示例和圖文介紹,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

前言

基于現(xiàn)在主流前后端交互的api,那么就來(lái)看看如何使用flask實(shí)現(xiàn)參數(shù)接受的。這里是我常用的方式,關(guān)于更多使用方式,請(qǐng)點(diǎn)擊這里去文檔查看更多

一、get請(qǐng)求下

1.1、路徑中帶有參數(shù)

1.1.1、postman示例

在這里插入圖片描述

1.1.2、 flask代碼實(shí)現(xiàn)

@blog_base_blueprint.route('/path_posts/<int:resource_id>', methods=['GET'])
def get_post_path(resource_id):
    resource_lists: List[models.Resource] = (models.Resource.query
                                             .filter(models.Resource.id == resource_id)
                                             .all())

    return jsonify({
        'code': 0,
        'msg': 'success',
        'data': {
            "resource_list": [resource.to_format() for resource in resource_lists]
        }
    })

在這里插入圖片描述

1.1.3、注意事項(xiàng)

在注冊(cè)路由的時(shí)候一定要寫(xiě)上參數(shù)和參數(shù)的類(lèi)型定義方法的時(shí)候一定寫(xiě)上參數(shù)名,這樣才能直接使用

1.2、在url后邊帶有參數(shù)

當(dāng)參數(shù)以 params 形式傳遞,也就是參數(shù)以?a=x&b=y 的形式顯示在 url 中訪(fǎng)問(wèn)的形式

1.2.1、postman示例

在這里插入圖片描述

1.2.2、 flask代碼實(shí)現(xiàn)

通過(guò)request.args.get(‘key’)request.values.get(‘key’) 來(lái)接收參數(shù)

@blog_base_blueprint.route('/posts', methods=['GET'])
def get_posts():
    current_app.logger.info('獲取列表')
    resource_id = request.args.get('resource_id', 2)

    resource_lists: List[models.Resource] = (models.Resource.query
                                             .filter(models.Resource.id == resource_id)
                                             .all())

    return jsonify({
        'code': 0,
        'msg': 'success',
        'data': {
            "resource_list": [resource.to_format() for resource in resource_lists]
        }
    })

二、post請(qǐng)求下

前后端API交互時(shí),常見(jiàn)的還是post的請(qǐng)求方式,且常用的有form-data 或x-www-form-urlendoded形式,還有為json數(shù)據(jù)的body體

2.1、form-data格式

2.1.1、postman示例

在這里插入圖片描述

2.1.2、flask代碼實(shí)現(xiàn)

使用request.form獲取

@blog_base_blueprint.route('/add_post', methods=['POST', 'GET'])
def create_or_update_resource():
    title = request.form.get('title')
    json_data = request.form
    return jsonify({
        'json_data' : json_data,
        'title' : title,
    })

2.2、www-form-urlendoded格式

2.2.1、postman示例

在這里插入圖片描述

2.2.2、flask代碼實(shí)現(xiàn)

使用request.form接收參數(shù)

#測(cè)試www-form-urlendoded格式
@blog_base_blueprint.route('/test1', methods=['POST'])
def test1():
    title = request.form.get('title2')
    json_data = request.form
    id = request.values.get('id')
    return jsonify({
        'json_data' : json_data,
        'title' : title,
        'id' : id,
    })

2.3、json傳參格式

2.3.1、postman示例

在這里插入圖片描述

2.3.2、flask代碼實(shí)現(xiàn)

使用request.get_json()request.get_data()實(shí)現(xiàn),使用方法參考點(diǎn)擊查看使用文檔

在這里插入圖片描述

在這里插入圖片描述

#測(cè)試json格式
@blog_base_blueprint.route('/test1_json', methods=['POST'])
def test1_json():
    json_data1 = request.get_data(as_text=True)
    print(json_data1)
    json_data2 = request.get_json()
    title = request.json.get('title')
    return jsonify({
        'json_data1' : json_data1,
        'json_data2' : json_data2,
        'title' : title,
    })

2.3.3、注意事項(xiàng)

根據(jù)結(jié)果可以看到:

  • get_data()方法,獲取到的是未經(jīng)處理的原始數(shù)據(jù),如果數(shù)據(jù)格式是json的,則取得是json字符串,排序和請(qǐng)求參數(shù)一致
  • get_json()方法,將請(qǐng)求參數(shù)做了處理,得到字典格式,因此排序會(huì)打亂,依據(jù)字典排序規(guī)則。

2.4、headers傳參格式

很多時(shí)候,為了安全性,接口交互時(shí)會(huì)傳遞token,這時(shí)候是使用request.headers來(lái)接收headers里的token的

2.4.1、postman示例

在這里插入圖片描述

2.4.2、flask代碼實(shí)現(xiàn)

使用request.headers實(shí)現(xiàn)

@blog_base_blueprint.route('/add_post', methods=['POST', 'GET'])
def create_or_update_resource():

    token = request.headers.get('Authorization', '')

    title = request.form.get('title')
    # json_data = request.form
    return jsonify({
        'token' : token,
    })

以上就是詳解flask中如何獲取不請(qǐng)求方式的參數(shù)的詳細(xì)內(nèi)容,更多關(guān)于flask獲取參數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中的pprint模塊

    Python中的pprint模塊

    本文介紹了 Python中的pprint模塊,pprint模塊包含一個(gè)“美觀打印機(jī)”,用于生成數(shù)據(jù)結(jié)構(gòu)的一個(gè)美觀的視圖。格式化工具會(huì)生成數(shù)據(jù)結(jié)構(gòu)的一些表示,不僅能夠由解釋器正確地解析,還便于人閱讀。輸出會(huì)盡可能放在一行上,分解為多行時(shí)會(huì)縮進(jìn),想了解具體內(nèi)容請(qǐng)參考下文
    2021-11-11
  • Python開(kāi)發(fā)寶典CSV JSON數(shù)據(jù)處理技巧詳解

    Python開(kāi)發(fā)寶典CSV JSON數(shù)據(jù)處理技巧詳解

    在Python中處理CSV和JSON數(shù)據(jù)時(shí),需要深入了解這兩種數(shù)據(jù)格式的讀取、寫(xiě)入、處理和轉(zhuǎn)換方法,下面將詳細(xì)介紹如何在Python中處理CSV和JSON數(shù)據(jù),并提供一些示例和最佳實(shí)踐
    2023-11-11
  • python調(diào)試神器PySnooper的使用

    python調(diào)試神器PySnooper的使用

    這篇文章主要介紹了python調(diào)試神器PySnooper的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python中end=" "的含義及說(shuō)明

    python中end=" "的含義及說(shuō)明

    這篇文章主要介紹了python中end=" "的含義及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python面積圖之曲線(xiàn)圖的填充

    python面積圖之曲線(xiàn)圖的填充

    這篇文章主要介紹了python面積圖之曲線(xiàn)圖的填充,文章圍繞主題的相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-06-06
  • Python?matplotlib繪圖時(shí)指定圖像大小及放大圖像詳解

    Python?matplotlib繪圖時(shí)指定圖像大小及放大圖像詳解

    Matplotlib是一個(gè)面向?qū)ο蟮睦L圖庫(kù),我們繪制的圖像中,每條曲線(xiàn),每個(gè)邊框等等都對(duì)應(yīng)一個(gè)對(duì)象,下面這篇文章主要給大家介紹了關(guān)于Python?matplotlib繪圖時(shí)指定圖像大小及放大圖像的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python+xlwings制作天氣預(yù)報(bào)表

    Python+xlwings制作天氣預(yù)報(bào)表

    python操作Excel的模塊,網(wǎng)上提到的模塊大致有:xlwings、xlrd、xlwt、openpyxl、pyxll等。本文將利用xlwings模塊制作一個(gè)天氣預(yù)報(bào)表,需要的可以參考一下
    2022-01-01
  • pytest參數(shù)化:@pytest.mark.parametrize詳解

    pytest參數(shù)化:@pytest.mark.parametrize詳解

    pytest.mark.parametrize裝飾器能夠?qū)y(cè)試函數(shù)進(jìn)行參數(shù)化處理,使得一個(gè)測(cè)試函數(shù)可以用多組數(shù)據(jù)執(zhí)行多次,這有助于檢查不同輸入下的期望輸出是否匹配,提高測(cè)試的效率和覆蓋率,裝飾器可以應(yīng)用于函數(shù)、模塊或類(lèi),支持多個(gè)裝飾器組合使用,增強(qiáng)測(cè)試的靈活性和綜合性
    2024-10-10
  • python正則表達(dá)式匹配IP代碼實(shí)例

    python正則表達(dá)式匹配IP代碼實(shí)例

    這篇文章主要介紹了python正則表達(dá)式匹配IP代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python用5行代碼實(shí)現(xiàn)批量摳圖的示例代碼

    Python用5行代碼實(shí)現(xiàn)批量摳圖的示例代碼

    這篇文章主要介紹了Python用5行代碼實(shí)現(xiàn)批量摳圖的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評(píng)論

富平县| 涟水县| 邵武市| 桦川县| 青海省| 察隅县| 额尔古纳市| 东丰县| 宾阳县| 阿克苏市| 乌拉特中旗| 安福县| 辽阳市| 华池县| 东丰县| 喀什市| 宁都县| 临澧县| 镇远县| 晋宁县| 广安市| 四子王旗| 泾阳县| 原阳县| 砀山县| 太谷县| 西藏| 枝江市| 九江县| 开原市| 衡山县| 旌德县| 武清区| 东阳市| 木里| 马关县| 柳州市| 文山县| 乌拉特前旗| 象州县| 梁河县|