Flask的請求擴展

from flask import Flask,request
app = Flask(__name__)

一.請求前

before_requestpython

用法flask

@app.before_request
def func():
    print(request) #能夠在請求來前對於request進行處理
    #return 若是有返回值頁面將渲染返回值不走@app.routex相關函數
    #若有有返回值且有after_request相關函數他的返回值會接着執行after_request相關函數
    #若是有多個before_request他會自上而下按照順序執行

二.請求後

after_reques瀏覽器

用法app

@app.after_request
def func(response): #必須傳一個response對象
    return response #必須返回一個response對象
   #有多個after_request他會從後往前執行

三.頁面第一次請求

before_first_request函數

用法debug

@app.before_first_request
def first():
    pass

FLask啓動時候,頁面請求第一次纔會執行,第二次不會執行與瀏覽器無關code

四.異常捕獲

teardown_request對象

用法class

@app.teardown_request 
def ter(e):
    pass
  • 只能捕獲異常而不能讓頁面渲染出自定義的異常信息
  • app.debug=True模式下e爲空
  • 不管什麼狀況函數都會運行

五.異常處理

用法import

@app.errorhandler(狀態碼)
def error_404(arg):
    return "頁面咱們自定義錯誤信息進行渲染"

六.頁面渲染

用法

@app.template_global()
def sb(a1, a2):
    return a1 + a2

全部頁面渲染的時候若是頁面上有sb變量他將自動調用該函數

頁面中

{{sb(1,2)}}
#頁面顯示結果爲3

七.過濾器

用法

@app.template_filter()
def db(a1, a2, a3):
    return a1 + a2 + a3

頁面中

#{{ 第一個變量|db(第二個變量,第三個變量)}}
相關文章
相關標籤/搜索