亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

一、get請求下

1.1、路徑中帶有參數

1.1.1、postman示例

在這里插入圖片描述

1.1.2、 flask代碼實現

@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、注意事項

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

1.2、在url后邊帶有參數

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

1.2.1、postman示例

在這里插入圖片描述

1.2.2、 flask代碼實現

通過request.args.get(‘key’)request.values.get(‘key’) 來接收參數

@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數據的body體

2.1、form-data格式

2.1.1、postman示例

在這里插入圖片描述

2.1.2、flask代碼實現

使用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代碼實現

使用request.form接收參數

#測試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代碼實現

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

在這里插入圖片描述

在這里插入圖片描述

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

根據結果可以看到:

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

2.4、headers傳參格式

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

2.4.1、postman示例

在這里插入圖片描述

2.4.2、flask代碼實現

使用request.headers實現

@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中如何獲取不請求方式的參數的詳細內容,更多關于flask獲取參數的資料請關注腳本之家其它相關文章!

相關文章

  • python測試mysql寫入性能完整實例

    python測試mysql寫入性能完整實例

    這篇文章主要介紹了python測試mysql寫入性能完整實例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 淺談Python類的單繼承相關知識

    淺談Python類的單繼承相關知識

    本文給大家介紹面向對象三要素之一繼承Inheritance的相關知識,通過示例代碼給大家介紹了繼承、貓類、狗類不用寫代碼,直接繼承了父類的屬性和方法,具體實現代碼跟隨小編一起看看吧
    2021-05-05
  • python爬取基于m3u8協議的ts文件并合并

    python爬取基于m3u8協議的ts文件并合并

    這篇文章主要為大家詳細介紹了python爬取基于m3u8協議的ts文件并合并,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python實現對特定列表進行從小到大排序操作示例

    Python實現對特定列表進行從小到大排序操作示例

    這篇文章主要介紹了Python實現對特定列表進行從小到大排序操作,涉及Python文件讀取、計算、正則匹配、排序等相關操作技巧,需要的朋友可以參考下
    2019-02-02
  • Python3 itchat實現微信定時發(fā)送群消息的實例代碼

    Python3 itchat實現微信定時發(fā)送群消息的實例代碼

    使用微信,定時往指定的微信群里發(fā)送指定信息。接下來通過本文給大家分享Python3 itchat實現微信定時發(fā)送群消息的實例代碼,需要的朋友可以參考下
    2019-07-07
  • Python跨文件調用函數的五種實用方法

    Python跨文件調用函數的五種實用方法

    在開發(fā)Python項目時,90%的開發(fā)者都會遇到這樣的困境:代碼越寫越長,功能越來越亂,最后變成難以維護的"意大利面條式代碼",本文將手把手教你通過模塊化編程,讓代碼結構清晰、可維護性強,并深入解析5種跨文件調用函數的實用方法,需要的朋友可以參考下
    2025-05-05
  • 一步步教你用python代碼畫一幅星空

    一步步教你用python代碼畫一幅星空

    這篇文章主要給大家介紹了關于如何使用python代碼畫一幅星空的相關資料,Python是一種非常流行的編程語言,它可以用來創(chuàng)建許多有趣的項目,例如繪制星空,需要的朋友可以參考下
    2023-09-09
  • Python實現LSTM學習的三維軌跡

    Python實現LSTM學習的三維軌跡

    這篇文章主要為大家詳細介紹了如何使用LSTM來學習和預測三維軌跡,并提供詳細的Python實現示例,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • 基于Python實現簡單的學生點名系統

    基于Python實現簡單的學生點名系統

    現在的學生大部分都很積極,會主動舉手回答問題。但是,也會遇到一些不好的情況,比如年級越高主動舉手的人越少,所以本文做了一個隨機的學生點名系統可以幫老師解決這些問題
    2022-09-09
  • python虛擬環(huán)境完美部署教程

    python虛擬環(huán)境完美部署教程

    這篇文章主要介紹了python虛擬環(huán)境完美部署教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08

最新評論