【Python】Web学习笔记_flask(4)——钩子函数

钩子函数可以用来注册在请求处理的不同阶段执行出

Flask的请求钩子指的是在执行视图函数前后执行的一些函数,

之前是有4种,但是 before_first_request已经被删除了,使用时会报错

before_request:在每次请求前执行,比如校验权限,也可以用来记录用户最后的在线时间

after_request:每次请求后调用,前提是没有未处理的异常抛出

teardown_request:每次请求之后调用,即使有未处理的异常抛出

python 复制代码
from flask import Flask,request,g

app = Flask(__name__)
@app.route('/')
def index():
    print('视图函数执行')
    return 'index page'



#每次请求之前都会执行
@app.before_request
def before_request():
    print('before_request')

#请求后执行
@app.after_request
def after_request(response):
    print('after_request')
    return response

#无论视图函数是否出现异常,每次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息
@app.teardown_request
def teardown_request(error):
    print('teardown_request:error %s' % error)


if __name__=='__main__':
    app.run(
        debug=True
    )

第一次进入页面

再次进入页面:

相关推荐
Jay叶湘伦几秒前
【极简】用 Vue 写一个 ChatGPT 前端应用,支持连续对话、Markdown 渲染与本地记忆
前端·vue.js·chatgpt
大家的林语冰几秒前
《前端周刊》尤大官宣 Vite 8 稳定版首发!npm 新官网?React 官网更新。focusgroup 新功能!
前端·javascript·vite
kuuailetianzi2 分钟前
构建企业级督办任务系统:Vue3 + TypeScript 实战(多级任务拆解+批量操作+进度追踪+单元格合并)
前端·javascript·typescript
Hilaku5 分钟前
王自如公开招聘全栈前端,要求有多离谱?
前端·javascript·ai编程
-To be number.wan5 分钟前
PyCharm接入DeepSeek全教程|3种方法+避坑指南
python·学习·pycharm
Ares-Wang12 分钟前
Python》》FastAPI 异步框架 接口 pymysql【同步】 aiomysql【异步】
开发语言·python·fastapi
大漠_w3cpluscom16 分钟前
CSS 技巧:CSS 中选择 html 元素的各种奇技淫巧
前端·css·weui
SPC的存折19 分钟前
3、Ansible之playbook模块大全
linux·运维·网络·python
雨师@37 分钟前
python包uv使用介绍
开发语言·python·uv
吴声子夜歌39 分钟前
JavaScript——异步编程
开发语言·前端·javascript