安裝:pip install flask(有手就行)
定位:主流輕型框架,簡單易用
初始化組件:
import
from flask import Flask, request
app = Flask(__name__)
以裝飾器的形式管理路由:
@app.route('/api1', methods=['POST'])
def revData():
#Token校驗
try:
token = request.headers['Token']
except KeyError:
return make_resp('1', 'TokenNeed')
if token != auth_token:
return make_resp('2', 'token error')
#獲取json格式的數據
try:
data = json.loads(request.get_data())
return 'success'
程序入口:
if __name__ == '__main__':
app.run(host='0.0.0.0', port=9002) #設置成0.0.0.0可使用ip地址訪問
重定向和返回狀態碼問題:
使用redirect()實現重定向問題,abort()實現返回狀態碼問題
from flask import abort, redirect, url_for
@app.route('/')
def index():
return redirect(url_for('login'))
@app.route('/login')
def login():
abort(401)
this_is_never_executed()
上例將用戶從主頁重定向到了一個不能訪問的頁面(xxxx.com/login),但該頁面顯示的只是一個黑白的錯誤頁面,如果需要顯示自定義的頁面,可以使用errorhandler()裝飾器:
from flask import render_template
@app.errorhandler(404)
def page_not_found(error):
return render_template('page_not_found.html'), 404
關於響應:
@app.errorhandler(404)
def not_found(error):
resp = make_response(render_template('error.html'), 404)
resp.headers['Something'] = 'value'
return resp
上例可以在響應頭部寫入自定義的信息