@app.template_global() # 全局变量
@app.template_filter() # 偏函数
@app.before_request # 请求进入视图函数之前,比如要对request进行些验证,若符合要求则返回none即可
@app.after_request # 结束视图函数之后,返回客户端之前,必须返回被装饰函数接收到的形参
@app.errorhandler(404) # 重定义404错误页面,只有这一个装饰器特殊,带括号,括号内放要定义的错误码
注释:app.before_request和app.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则是在当前
打断处返回.