Flask框架之异常处理和请求钩子

异常处理

抛出异常

在Flask框架中,我们使用abort()方法,抛出异常信息。

代码如下:

from flask import abort
# 抛出异常
@app.route(‘/error‘)
def error():
    return abort(404)

捕获和处理异常

在Flask框架中,我们使用@app.errorhandler()装饰器,实现异常的捕获和处理。

代码如下:

# 捕获异常
@app.errorhandler(404)
def error_action(e):
    # 必须接受一个参数e
    return ‘error....‘

请求钩子

before_first_request(第一次请求之前执行)

在Flask框架中,我们可以使用@app.before_first_request装饰器,来实现钩子函数。

代码如下:

# 第一请求之前执行
@app.before_first_request
def before_first_request():
    print(‘before_first_request‘)

before_request(每次请求之前执行)

在Flask框架中,我们可以使用@app.before_request装饰器,来实现钩子函数。

代码如下:

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

after_request(每次请求后执行,不出现异常)

在Flask框架中,我们可以使用@app.after_request装饰器,来实现钩子函数。

代码如下:

# 每次请求后执行,不能出现异常
@app.after_request
def after_request(response):
    # response参数不能缺少,且必须响应
    print(‘after_request‘)
    return response

teardown_request(每次请求后执行,接收处理异常)

在Flask框架中,我们可以使用@app.teardown_request装饰器,来实现钩子函数。

代码如下:

# 每次请求后执行,捕获并处理异常
@app.teardown_request
def teardown_request(e):
    # 必须接收参数e
    print(e)
    print(‘teardown_request‘)

原文地址:https://www.cnblogs.com/chao666/p/12397230.html

时间: 2024-07-30 07:51:44

Flask框架之异常处理和请求钩子的相关文章

Flask框架 之上下文、请求钩子与Flask_Script

一.上下文 请求上下文:request与session 应用上下文:current_app与g:一次请求多个函数可以用它传参 @app.route("/") def index(): g.username = "yy" test() return "page" # 1.请求上下文:request与session # 2.应用上下文:current_app与g:一次请求多个函数可以用它传参 def test(): print(g.username)

Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据

Flask 框架中常用到重定向方法来实现路由的跳转 ,路由跳转又分为站内跳转和站外跳转 常用的站内跳转方法为url_for  而常用的站外跳转为redirect 在这里提示一下: 在使用两种方法是须调用相对应的包: redirect对应的为redirect包  而url_for对应url_for 例: 具体代码为: 捕获异常:即在服务器没有相应的时候用来进行友好提示,提高用户体验 具体代码为: 钩子方法:分为第一次请求之前,每一次请求之前和请求之后在后台返回的数据 jsonify:在页面返回js

Flask中的请求钩子

请求勾子在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子. 请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子: before_first_request 在处理第一个请求前执行 before_request 在每次请求前执行 如果在某修饰的函数中返回了一个响应,视图函数将不

Flask之请求钩子

什么是请求钩子?说白了,就是在执行视图函数前后你可以进行一些处理,Flask使用装饰器为我们提供了注册通用函数的功能. before_first_request:在处理第一个请求前执行 before_request:在每次请求前执行 after_request:每次请求之后调用,前提是没有未处理的异常抛出 teardown_request:每次请求之后调用,即使有未处理的异常抛出 from flask import Flask app = Flask(__name__) @app.before_

Flask框架 请求与响应 & 模板语法

目录 Flask框架 请求与响应 & 模板语法 简单了解Flask框架 Flask 框架 与 Django 框架对比 简单使用Flask提供服务 Flask 中的 Response(响应) Flask 中的 Request(请求) Flask 模板语言简单使用 Flask框架参考手册 原文地址:https://www.cnblogs.com/guokaifeng/p/11587311.html

flask请求钩子

请求钩子 作用: 可以 对请求的事件进?行行监听 , ?方便便开发者对请求的各阶段进?行行?一些?自定义处理理 before_request和after_request before_first_request和teardown_request 原文地址:https://www.cnblogs.com/oklizz/p/11370193.html

深入学习Flask框架之视图及路由

在前面一讲中我们学习如何创建一个简单的Flask项目,并做了一些简单的分析.接下来在这一节中就主要来讲讲Flask中最核心的内容之一:Werkzeug工具箱.Werkzeug是一个遵循WSGI协议的Python函数库.WSGI协议在前面的文章中也有提到(点我查看).那Werkzeug有什么作用呢?它其实实现了很多底层的东西,如Request.Response和集成URL请求路由等. 一.Werkzeug的组成: 二.routing模块 routing模块的主要目的是负责实现URL解析.不同的UR

Flask框架—session组件详解

一.flask session简介 flask中session组件可分为内置的session组件还有第三方flask-session组件,内置的session组件缺点: 功能单一 session是保存在浏览器中的cookie中,不安全, 大小有限制 而第三方插件flask-session可支持redis.memcached.文本等session的存储. 二.内置session处理机制 Cookie与Session 我们回顾一下cookie和session知识 Cookie Cookie意为“甜饼

2.5.3、请求钩子

有时在处理请求之前或之后执行代码会很有用.例如,在请求开始时,我们可能需要创建数据库连接或者认证发起请求的用户.为了避免在每个视图函数中都使用重复的代码,Flask 提供了注册通用函数的功能,注册的函数可在请求被分发到视图函数之前或之后 调用. 请求钩子使用修饰器实现.Flask 支持以下 4 种钩子. ?before_first_request:注册一个函数,在处理第一个请求之前运行. ?before_request:注册一个函数,在每次请求之前运行. ?after_request:注册一个函