首页 > 其他 > 详细

flask的请求扩展、自定义中间件、CBV、蓝图(Blueprint)

时间:2020-03-20 09:03:53      阅读:59      评论:0      收藏:0      [点我收藏+]

请求扩展:

@app.before_first_request    最先执行的请求扩展函数

@app.before_request    其装饰的函数不用带参数,|先定义的先执行| 如果有return,不会执行后续的before_request函数及响应函数,直接执行after_request的函数

响应函数

@app.after_request  其装饰的函数一定要带参数  |先定义的后执行|,所有after_request装饰的函数都会执行并return response

 

@app.teardown_request  程序一旦遇到错误就会执行,并将错误传给其装饰的函数,没有遇到错误也会执行该函数,错误值为None,但他不可以拦截错误

@app.errorhandler(404) 或者@app.errorhandler(500)   可以拦截错误,给前端渲染其他页面

 

@app.template_global()  前后端不分离时,可以在前端直接调用函数

@app.template_filter()   前后端不分离时,可以在前端直接调用函数

{{ get_sb(1,2)}}  # @app.template_global()装饰的get_sb

{{1|get_something(1,1,1)}}   # @app.template_fliter()装饰的get_something

 

 

 

自定义中间件

class MyMiddleware:
    def __init__(self,old_wsgi_app):
        self.old_wsgi_app =old_wsgi_app
    def __call__(self, environ, start_response):
        print("开始之前")    # 可以在开始前搞点小动作
        ret = self.old_wsgi_app(environ, start_response)
        print("结束之后")  # 可以在开始后搞点小动作
        return ret
if __name__ == __main__:
    app.wsgi_app = MyMiddleware(app.wsgi_app)
    app.run()

 

 

CBV

 

 

Bulepoint

 

flask的请求扩展、自定义中间件、CBV、蓝图(Blueprint)

原文:https://www.cnblogs.com/csic716/p/12528658.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!