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

python+flask編寫接口實(shí)例詳解

 更新時(shí)間:2021年05月08日 09:20:54   作者:weixin-0x6B6473  
這篇文章主要介紹了python+flask編寫接口實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

環(huán)境:Pycharm ;其他環(huán)境:安裝Anaconda

最近在做一個(gè)小型項(xiàng)目練手,涉及到大量的IP和相關(guān)數(shù)據(jù)處理,所以選用了Python來處理數(shù)據(jù),但是處理完怎么給前端調(diào)用呢,今天這篇就是在Python方便地處理完數(shù)據(jù)后以接口形式把數(shù)據(jù)返回給前端。

flask就是使用Python編寫接口實(shí)例的關(guān)鍵庫,先配置項(xiàng)目:

①(這一步可以使用Python默認(rèn)解釋器,但是后續(xù)安裝庫可能還需要配置,建議使用Anaconda)首先打開PyCharm,在file->settings->Project->project interpreter改為使用Anaconda的python.exe,這里的python.exe在安裝Anaconda文件夾下。

在這里插入圖片描述

②如果根據(jù)上面配置了Anaconda的解釋器,那么此時(shí)flask默認(rèn)已經(jīng)包含在了項(xiàng)目庫中,如果需要安裝,可以先參考Windows下pip和換源

然后在項(xiàng)目中右鍵open interminal便可以使用pip安裝需要的庫了,如下

在這里插入圖片描述

postman

postman是最常用的接口測試工具,可以下載客戶端也可以使用網(wǎng)頁版,自行下載哦

json數(shù)據(jù)格式

首先我們知道,一般前端請求數(shù)據(jù)的格式都為json格式,通俗來看就是鍵值對形式,如下:

{
	"id":"001",
	"name":"kong"
}

前端只需要拿到鍵(如id),就能拿到鍵所對應(yīng)的值(001),這樣就可以拿到數(shù)據(jù),那怎么把數(shù)據(jù)處理成json形式就屬于編寫接口要做的事了。
我們只知道python梳理數(shù)據(jù)方便,但是怎么把數(shù)據(jù)處理成上面的json形式呢,
先看完整測試代碼:

from flask import Flask, jsonify
from flask_cors import CORS

# 跨域
app = Flask(__name__)
cors = CORS(app, supports_credentials=True)


@app.route("/", methods=["GET"])
def hello():
    return "Hello World"


@app.route("/one", methods=["GET"])
def test():
    id_1 = "001"
    id_2 = "002"
    name_1 = "kong"
    name_2 = "chen"
    data = {"id1":id_1, "id2":id_2, "name1":name_1,"name2":name_2}
    return jsonify(data)


if __name__ == '__main__':
    app.run(host='0.0.0.0', threaded=True)

這段代碼中,前兩行是導(dǎo)入需要用到的庫,如果報(bào)紅,那就是沒有安裝,使用pip安裝即可,跨域下兩行這樣寫上是為了防止前端報(bào)出跨域問題錯(cuò)誤(我也不太清楚,前端一點(diǎn)不會(huì),實(shí)際項(xiàng)目中用到的)。

下面就開始接口的編寫:

@app.route()是設(shè)置路由地址,一般操作系統(tǒng)會(huì)給其分配一個(gè)端口,前端調(diào)用時(shí)就會(huì)尋址到這個(gè)端口,從其中某一個(gè)接口取出所需要的數(shù)據(jù),括號里是請求方式,一般是POST和GET這兩種,這里就是用最簡單的GET形式。

第一個(gè)接口就是直接在端口首頁返回一個(gè)"Hello World",我們重點(diǎn)說的是第二個(gè),我們看到定義了四個(gè)字符串,并最終合成了一個(gè)data字典(Python字典也是鍵值對形式),我這里故意在名字上面做了一些差異,其中id_1就是接口處理的變量,也就是說它存儲(chǔ)的是要返回給前端的值,但是前端要拿到這個(gè)值,是通過""中的id1實(shí)現(xiàn)的,也就是說前端請求這個(gè)鍵的值,就可以拿到對應(yīng)的id_1的值。

最后兩行是程序的主函數(shù),最后一行代表啟動(dòng)這個(gè)接口文件,一般在本機(jī)測試時(shí)使用host = 127.0.0.1或默認(rèn)app.run()即可,threaded = True表示可以并行訪問接口。

我們右鍵運(yùn)行這個(gè)py文件,會(huì)看到這樣

在這里插入圖片描述

此時(shí)按住CTRL點(diǎn)這個(gè)地址既可以打開瀏覽器,可以看到一個(gè)不經(jīng)調(diào)用直接返回的頁面,顯示Hello World,我們主要測試下面一個(gè)接口:打開postman,將這個(gè)地址賦值進(jìn)去,并根據(jù)接口route中的路徑添加,如下:

在這里插入圖片描述

此時(shí)的數(shù)據(jù)形式就是json形式的,可以供前端直接調(diào)用的了,因?yàn)槲乙彩敲髦詫W(xué),沒有進(jìn)行系統(tǒng)的學(xué)習(xí),所以只能這樣說明,但實(shí)際使用中還是挺簡單的,主要得益于python強(qiáng)大的數(shù)據(jù)處理能力,繼續(xù)加油。

到此這篇關(guān)于python+flask編寫接口實(shí)例詳解的文章就介紹到這了,更多相關(guān)python lask編寫接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中的變量及簡單數(shù)據(jù)類型應(yīng)用

    Python中的變量及簡單數(shù)據(jù)類型應(yīng)用

    這篇文章主要介紹了Python中的變量及簡單數(shù)據(jù)類型應(yīng)用,簡單的數(shù)據(jù)類型包括字符串和數(shù)字,更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • 一文秒懂pandas中iloc()函數(shù)

    一文秒懂pandas中iloc()函數(shù)

    iloc[]函數(shù)屬于pandas庫全稱為index?location,即對數(shù)據(jù)進(jìn)行位置索引,從而在數(shù)據(jù)表中提取出相應(yīng)的數(shù)據(jù),本文通過實(shí)例代碼介紹pandas中iloc()函數(shù),感興趣的朋友一起看看吧
    2023-04-04
  • python 實(shí)現(xiàn)Requests發(fā)送帶cookies的請求

    python 實(shí)現(xiàn)Requests發(fā)送帶cookies的請求

    這篇文章主要介紹了python 實(shí)現(xiàn)Requests發(fā)送帶cookies請求的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • selenium自動(dòng)化測試簡單準(zhǔn)備

    selenium自動(dòng)化測試簡單準(zhǔn)備

    本文主要介紹了selenium自動(dòng)化測試簡單準(zhǔn)備,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python實(shí)現(xiàn)讀取文件的方法總結(jié)

    Python實(shí)現(xiàn)讀取文件的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Python中實(shí)現(xiàn)讀取文件效果的幾種方法總結(jié),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-09-09
  • 基于python實(shí)現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼)

    基于python實(shí)現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼)

    這篇文章主要介紹了基于python實(shí)現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python的getattr和getattribute攔截內(nèi)置操作實(shí)現(xiàn)

    python的getattr和getattribute攔截內(nèi)置操作實(shí)現(xiàn)

    在Python中,getattr和getattribute是用于動(dòng)態(tài)屬性訪問和自定義屬性訪問行為的重要工具,本文主要介紹了python的getattr和getattribute攔截內(nèi)置操作實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Python3 requests模塊如何模仿瀏覽器及代理

    Python3 requests模塊如何模仿瀏覽器及代理

    這篇文章主要介紹了Python3 requests模塊如何模仿瀏覽器及代理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python利用psutil獲取CPU與內(nèi)存等硬件信息

    Python利用psutil獲取CPU與內(nèi)存等硬件信息

    psutil是Python的一個(gè)第三方庫,提供了各種強(qiáng)大的硬件信息查閱功能,這篇文章主要為大家介紹了如何利用psutil獲取CPU與內(nèi)存等硬件信息,需要的可以參考一下
    2023-07-07
  • python粘包問題及socket套接字編程詳解

    python粘包問題及socket套接字編程詳解

    這篇文章主要介紹了python粘包問題及socket套接字編程詳解,之所以出現(xiàn)粘包,是因?yàn)閮蓚€(gè)數(shù)據(jù)非常小,然后間隔時(shí)間又短,或數(shù)據(jù)太大,一次取不完,下一次還會(huì)取這個(gè)大數(shù)據(jù),需要的朋友可以參考下
    2019-06-06

最新評論