本篇文章為大家展示了如何在python中使用flask編寫一個接口,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。
環境:Pycharm ;其他環境:安裝Anaconda
最近在做一個小型項目練手,涉及到大量的IP和相關數據處理,所以選用了Python來處理數據,但是處理完怎么給前端調用呢,今天這篇就是在Python方便地處理完數據后以接口形式把數據返回給前端。
flask就是使用Python編寫接口實例的關鍵庫,先配置項目:
①(這一步可以使用Python默認解釋器,但是后續安裝庫可能還需要配置,建議使用Anaconda)首先打開PyCharm,在file->settings->Project->project interpreter改為使用Anaconda的python.exe,這里的python.exe在安裝Anaconda文件夾下。
②如果根據上面配置了Anaconda的解釋器,那么此時flask默認已經包含在了項目庫中,如果需要安裝,可以先參考Windows下pip和換源
然后在項目中右鍵open interminal便可以使用pip安裝需要的庫了,如下
postman是最常用的接口測試工具,可以下載客戶端也可以使用網頁版,自行下載哦
首先我們知道,一般前端請求數據的格式都為json格式,通俗來看就是鍵值對形式,如下:
{ "id":"001", "name":"kong" }
前端只需要拿到鍵(如id),就能拿到鍵所對應的值(001),這樣就可以拿到數據,那怎么把數據處理成json形式就屬于編寫接口要做的事了。
我們只知道python梳理數據方便,但是怎么把數據處理成上面的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)
這段代碼中,前兩行是導入需要用到的庫,如果報紅,那就是沒有安裝,使用pip安裝即可,跨域下兩行這樣寫上是為了防止前端報出跨域問題錯誤(我也不太清楚,前端一點不會,實際項目中用到的)。
下面就開始接口的編寫:
@app.route()是設置路由地址,一般操作系統會給其分配一個端口,前端調用時就會尋址到這個端口,從其中某一個接口取出所需要的數據,括號里是請求方式,一般是POST和GET這兩種,這里就是用最簡單的GET形式。
第一個接口就是直接在端口首頁返回一個"Hello World",我們重點說的是第二個,我們看到定義了四個字符串,并最終合成了一個data字典(Python字典也是鍵值對形式),我這里故意在名字上面做了一些差異,其中id_1就是接口處理的變量,也就是說它存儲的是要返回給前端的值,但是前端要拿到這個值,是通過""中的id1實現的,也就是說前端請求這個鍵的值,就可以拿到對應的id_1的值。
最后兩行是程序的主函數,最后一行代表啟動這個接口文件,一般在本機測試時使用host = 127.0.0.1或默認app.run()即可,threaded = True表示可以并行訪問接口。
我們右鍵運行這個py文件,會看到這樣
此時按住CTRL點這個地址既可以打開瀏覽器,可以看到一個不經調用直接返回的頁面,顯示Hello World,我們主要測試下面一個接口:打開postman,將這個地址賦值進去,并根據接口route中的路徑添加,如下:
上述內容就是如何在python中使用flask編寫一個接口,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。