1. 程式人生 > 實用技巧 >【8】基於Python-基礎知識:flask的介紹及使用(4)

【8】基於Python-基礎知識:flask的介紹及使用(4)

  本節的知識只是擴充套件知識點,可自行學習


學習目的:

  • 知道什麼是flask
  •   可以知道介面的由來及簡單的編寫對應的介面dome

  

  什麼是flask?

  Flask是一個使用Python編寫的輕量級Web應用框架。基於Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask使用BSD授權。在短時間內就可以完成功能豐富的中小型網站或Web服務的實現。

  

   環境搭建

     在cmd中通過pip進行安裝

pip install flask

  舉例一:GET請求:建立一個Get介面並且可以正確訪問

    1. 在python 輸入程式碼如下:

# coding = utf-8
from flask import Flask
import json

# 把當前的變成一個應用
app = Flask(__name__)

# 設定對應的路徑變成一個路徑
@app.route('/login')
  def login():
  data =json.dumps({
  "user": "testname",
  "password": "******"
})
  return data


if __name__ == "__main__":
  app.run()

    

    2. 執行時會返回使用者當前的路徑以及埠,通過埠和路徑即可訪問,如下圖

    3. 通過Fiddler即可得到如下:


如上,雖然是一個Get請求的,但是並未傳對應的引數,如果需要傳遞對應的引數,則需要使用到如下知識點:

from flask import request


    1. 在python 輸入程式碼如下:

# coding = utf-8
from flask import Flask
from flask import request
import json

# 把當前的變成一個應用
app = Flask(__name__)

# 設定對應的路徑變成一個路徑
@app.route('/')
def Home():
  data 
=json.dumps({   "code" : "200",   "message":"歡迎進入到首頁"   },ensure_ascii=False)   return data @app.route('/login',methods=['GET']) def Login():   """通過GET請求的介面"""   user = request.args.get("user")   password = request.args.get("password") if user and password:   data = json.dumps({   "user": user,   "password": password,   "code" : "200",   "message":"登入成功"   },ensure_ascii=False) else:   data = json.dumps({   "message": "請傳遞引數"   },ensure_ascii=False) return data if __name__ == "__main__": app.run()

  2. 執行之後,得到效果如下:

  傳引數時:

  

  未傳引數時:

舉例二:POST請求

如上,新增方法post_login()

@app.route('/post_login', methods=['POST'])
def post_login():
    """通過POST請求的介面"""
    request_methods = request.method
    if request_methods == "POST":
        user = request.form.get("user")
        password = request.form.get("possword")
        data = json.dumps({
            "user":  user,
            "password": password,
            "code": "200",
            "message": "登入成功"
        })

    else:
        data = json.dumps({
            "message": "引數異常"
        })

    return data