Flask内的特殊装饰器

@app.template_global()  # 全局变量

@app.template_filter()    # 偏函数

@app.before_request    # 请求进入视图函数之前,比如要对request进行些验证,若符合要求则返回none即可

@app.after_request      # 结束视图函数之后,返回客户端之前,必须返回被装饰函数接收到的形参

@app.errorhandler(404)  # 重定义404错误页面,只有这一个装饰器特殊,带括号,括号内放要定义的错误码

注释:app.before_requestapp.after_request类似于django内的中间件,都是在请求进入视图之前和之后做

一些事情,如从上至下依次定义有be1,be2,be3,af1,af2,af3   其依次运行顺序为:

 

正常执行,每个be都返回none放行:  be1,be2,be3,af3,af2,af1;

 

如在be1处没有放行,被打断,则执行顺序为: be1,af3,af2,af1;

 

:before_request按照定义顺序,自上而下依次执行,response反回时,按照after_request注册顺序倒序返回.

 

区别于django,当在be处被打断后,其下be不再执行,会从最后一个af处倒序返回,django则是在当前

打断处返回.

猜你喜欢

转载自www.cnblogs.com/quzq/p/10318960.html