網(wǎng)站首頁 編程語言 正文
(1)@app.before_request
請(qǐng)求到達(dá)視圖函數(shù)之前,進(jìn)行自定義操作,類似django中間件中的process_request,在app中使用則為全局,在藍(lán)圖中使用則針對(duì)當(dāng)前藍(lán)圖
注意正常狀態(tài)下return值必須為None
(2)@app.after_request
響應(yīng)返回到達(dá)客戶端之前,進(jìn)行自定義操作,類似jango中間件中的process_response,在app中使用則為全局,在藍(lán)圖中使用則針對(duì)當(dāng)前藍(lán)圖
注意正常狀態(tài)下視圖函數(shù)必須定義一個(gè)形參接收response對(duì)象,并通過return response返回
(3)@app.errorhandler()
錯(cuò)誤狀態(tài)碼捕獲執(zhí)行函數(shù),裝飾器參數(shù)務(wù)必是4xx或者5xx的int型錯(cuò)誤狀態(tài)碼
(4) @app.template_global() :定義裝飾全局模板可用的函數(shù),直接可在模板中進(jìn)行渲染使用
@app.template_filter(): 定義裝飾全局模板可用的過濾器函數(shù),類似django中的自定義過濾器,直接可在模板中使用
這兩個(gè)特殊裝飾器主要用在模板渲染?。。?/p>
import apps
from flask import request, session, redirect
app = apps.create_app()
@app.before_request
def before1():
print("before1", request)
@app.before_request
def before2():
print("before2")
if request.path == "/":
return None
else:
#這里拋出了一個(gè)異常,會(huì)被@app.errorhandler(Exception)
# 捕獲到。
raise Exception("hahaha")
@app.before_request
def before3():
print("before3")
@app.after_request
def after1(res):
print("after1")
return res
@app.after_request
def after2(res):
print("after2")
return res
@app.after_request
def after3(res):
print("after3")
return res
# 處理異常,接受參數(shù),可以重定向到指定頁面
@app.errorhandler(Exception)
def error(e):
print("error")
return redirect("/")
@app.route("/login")
def login():
print("login")
return "login"
@app.route('/')
def hello_world(): # put application's code here
return 'Hello World!'
if __name__ == '__main__':
app.run()
原文鏈接:https://blog.csdn.net/wtl1992/article/details/129187432
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2022-11-20 Python利用pangu模塊實(shí)現(xiàn)文本格式化小工具_(dá)python
- 2022-12-02 關(guān)于Nginx?命令行控制的問題_nginx
- 2023-05-30 Python嵌套循環(huán)的使用_python
- 2023-11-26 StringBuffer 和 StringBuilder
- 2022-04-09 react中鍵盤事件無法在div上觸發(fā)的問題解決
- 2022-07-13 IO流分類以及分別使用字節(jié)流、字符流復(fù)制文本文件、復(fù)制圖片
- 2023-08-01 webpack 的熱更新及其原理
- 2022-08-11 TypeScript中的裝飾器用法_基礎(chǔ)知識(shí)
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支