欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

一、get請求下

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

1.1.1、postman示例

在這里插入圖片描述

1.1.2、 flask代碼實現(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、注意事項

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

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

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

1.2.1、postman示例

在這里插入圖片描述

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

通過request.args.get(‘key’)request.values.get(‘key’) 來接收參數(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請求下

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

2.1、form-data格式

2.1.1、postman示例

在這里插入圖片描述

2.1.2、flask代碼實現(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代碼實現(xiàn)

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

#測試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代碼實現(xiàn)

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

在這里插入圖片描述

在這里插入圖片描述

#測試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、注意事項

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

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

2.4、headers傳參格式

很多時候,為了安全性,接口交互時會傳遞token,這時候是使用request.headers來接收headers里的token的

2.4.1、postman示例

在這里插入圖片描述

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

使用request.headers實現(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中如何獲取不請求方式的參數(shù)的詳細內(nèi)容,更多關(guān)于flask獲取參數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Python的xlwings操作Excel的屬性和方法

    使用Python的xlwings操作Excel的屬性和方法

    這篇文章主要介紹了使用Python的xlwings操作Excel的屬性和方法,xlwings?是?Python?操作?Excel?的庫之一,主要作為兩門語言的交互工具,是python?操作excel比較成熟、杰出的庫,調(diào)用簡單方便,而且功能強大,需要的朋友可以參考下
    2023-07-07
  • Python實現(xiàn)PS濾鏡特效之扇形變換效果示例

    Python實現(xiàn)PS濾鏡特效之扇形變換效果示例

    這篇文章主要介紹了Python實現(xiàn)PS濾鏡特效之扇形變換效果,結(jié)合實例形式分析了Python實現(xiàn)PS濾鏡扇形變換效果的原理與相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • python怎么使用xlwt操作excel你知道嗎

    python怎么使用xlwt操作excel你知道嗎

    這篇文章主要為大家介紹了python使用xlwt操作excel的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Python基于datetime或time模塊分別獲取當(dāng)前時間戳的方法實例

    Python基于datetime或time模塊分別獲取當(dāng)前時間戳的方法實例

    今天小編就為大家分享一篇關(guān)于Python基于datetime或time模塊分別獲取當(dāng)前時間戳的方法實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python學(xué)習(xí)之編寫查詢ip程序

    python學(xué)習(xí)之編寫查詢ip程序

    這篇文章主要介紹了python學(xué)習(xí)之編寫查詢ip程序 ,需要的朋友可以參考下
    2016-02-02
  • Python鍵值互換的實現(xiàn)示例

    Python鍵值互換的實現(xiàn)示例

    Python鍵值互換是一種對Python字典類型中鍵值對進行反轉(zhuǎn)的技術(shù),有時候,我們需要以值作為鍵,以鍵作為值來操作字典,這時候就需要用到鍵值互換的技術(shù),本文主要介紹了Python鍵值互換的實現(xiàn)示例,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python文件操作JSON CSV TSV Excel和Pickle文件序列化

    Python文件操作JSON CSV TSV Excel和Pickle文件序列化

    這篇文章主要為大家介紹了Python文件操作之JSON、CSV、TSV、Excel和Pickle文件序列化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Python學(xué)習(xí)之名字,作用域,名字空間(下)

    Python學(xué)習(xí)之名字,作用域,名字空間(下)

    這篇文章主要介紹了Python學(xué)習(xí)之名字,作用域,名字空間,緊接上一篇文章內(nèi)容展開全文,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-05-05
  • Python常見字典內(nèi)建函數(shù)用法示例

    Python常見字典內(nèi)建函數(shù)用法示例

    這篇文章主要介紹了Python常見字典內(nèi)建函數(shù)用法,結(jié)合具體實例形式分析了Python字典內(nèi)建函數(shù)實現(xiàn)針對字典的長度、hash運算、鍵值對遍歷、獲取、計算等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • python模塊引入問題和解決方案

    python模塊引入問題和解決方案

    本文主要介紹了python模塊引入問題和解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論