1. 程式人生 > >Flask快速實現簡單python介面

Flask快速實現簡單python介面

  Flask 是一個輕量級 web 框架,自由、靈活、可擴充套件性強。Flask 本身相當於一個核心,大部分功能都需要擴充套件第三方庫。 Flask 框架有多“輕量”呢,之前寫過一篇 Django實現restful api 的文章,基於 Django 框架實現的,有興趣的同學可以做下比較。在實現簡單的 api 方面, Flask 框架只需一個 .py 檔案就能搞定,很簡潔很優雅。

 

 1.安裝 Flask

 

 pip3 install flask

 

 

2.看下 Flask 專案目錄,很簡潔吧!本文不涉及 web 前端,只實現 API ,所以不講解 static 和 templates 。

 

 3.一個簡單、優雅的例子:

from flask import Flask
from flask import request
import json

app = Flask(__name__)


@app.route('/',methods=['GET'])
def hello_world():
    return 'Hello World!'

# 設定訪問URL:'/plus',methods:允許哪種方式訪問
@app.route('/plus',methods=['POST'])
def plus():
    data = json.loads(request.data.decode())
    x = data['x']
    y = data['y']

    return json.dumps(x+y)


if __name__ == '__main__':
    # 設定host,埠8080。threaded=True 代表開啟多執行緒
    app.run(host='0.0.0.0', port=8080, threaded=True)

 Flask 通過 @app.route 裝飾器來配置路由和請求方式,request.data 接收 post 請求引數,因為接收到的是位元組流,需要 decode() 解碼再轉成 json 格式。Flask 可以設定 run() 引數開啟 多執行緒(threaded=True) 和 多程序(processes=True),但如果要上生產環境,還是得用 Nginx 或 Apache 部署,提高效能。

 

 1)執行命令 python app.py ,然後瀏覽器輸入:http://127.0.0.1:8080/

 2)測試指令碼:

import requests
url = 'http://127.0.0.1:8080/plus'

h = requests.post(url=url,json={"x":2,"y":3})
print(h.text)

輸出: