python+flask編寫接口實例詳解
環境: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數據格式首先我們知道,一般前端請求數據的格式都為json格式,通俗來看就是鍵值對形式,如下:
{'id':'001','name':'kong'}
前端只需要拿到鍵(如id),就能拿到鍵所對應的值(001),這樣就可以拿到數據,那怎么把數據處理成json形式就屬于編寫接口要做的事了。我們只知道python梳理數據方便,但是怎么把數據處理成上面的json形式呢,先看完整測試代碼:
from flask import Flask, jsonifyfrom 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中的路徑添加,如下:
此時的數據形式就是json形式的,可以供前端直接調用的了,因為我也是摸索著自學,沒有進行系統的學習,所以只能這樣說明,但實際使用中還是挺簡單的,主要得益于python強大的數據處理能力,繼續加油。
到此這篇關于python+flask編寫接口實例詳解的文章就介紹到這了,更多相關python lask編寫接口內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: