前端開發中,必不可少的一部分就是介面除錯。常見的做法有 Mock.js 等。但 mock 方式會有一些 不足,如:請求被攔截,無法在chrome中檢視請求的各種細節等。針對這些不足,我們可以拓寬我們的技能樹,寫一部分後端用於專案本地 mock 除錯。本文介紹一種基於 Python Flask 框架快速搭建前端除錯後臺的方案。
Flask 常用方法
基礎示例
from flask import Flask, requestfrom flask_cors import *import jsonimport timeimport copyimport randomimport osapp = Flask(__name__)CORS(app, supports_credentials=True, resources=r'/*')CORS(app)@app.route('/')def index(): return 'Hello,Python Flask!'app.run(debug=True, host='0.0.0.0', port=8000)複製程式碼
注意:瀏覽器測試訪問時,需要將 host 的 ip 地址由 0.0.0.0 改成實際的 ip 地址。
路由
路由通過 app.route 進行設定 ,通過 ip 地址:埠號 + 路由 訪問。
@app.route('/api/name')def name(): return 'Name: Leif'複製程式碼
請求方法
GET 請求方法設定。此方法預設,可不設定。
@app.route('/api/info', methods=['GET'])複製程式碼
POST 請求方法設定。
@app.route('/api/info', methods=['POST'])複製程式碼
請求引數讀取
GET 請求引數讀取,通過 request.args.get('引數名')
@app.route('/api/info', methods=['GET'])def info(): type = request.args.get('type') time = request.args.get('time')複製程式碼
POST 請求引數讀取,通過 request.form.get(欄位名)
@app.route('/api/params', methods=['POST'])def params(): # browser & os & computer & folder browser = request.form.get('browser') os = request.form.get('os') computer = request.form.get('computer') folder = request.form.get('folder')複製程式碼
圖片讀取與儲存
@app.route('/api/pic', methods=['POST'])def pic(): img = request.files.get('file') if img is None: return json.dumps({'msg': 'File upload fail!'}) else: img.save(img.filename) return json.dumps({'msg': 'File upload success!'})複製程式碼