介绍
本篇文章给大家分享的是有关瓶框架中有哪些常见的装饰器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
@app.before_request def 之前(* args, * * kwargs): 打印才能(& # 39;请求之前& # 39;) & # 39;才能& # 39;& # 39; ,,如果允许通过访问,可以return 没有 该才能装饰器装饰的函数如果有返回其他内容则直接结束访问, ,,效果有点类似django的process_reqeust中间件方法。 比才能如通过这个装饰器写登陆验证,判断其是否有会话,没有则不允许访问,有则继续访问 然才能后通过request.path判断访问的函数,如果是登陆(白名单)则通过。 request.url 才能是完整的url request.path才能是域名后面的url正则 & # 39;才能& # 39;& # 39; if 才能;request.path ==, & # 39;/登录# 39;: ,,,return 没有 user 才能=,session.get (& # 39; user_info& # 39;) if 才能;用户: ,,,return 没有 return 才能;重定向(& # 39;/登录# 39;)
<强>类似process_response 强>
@app.after_request def 后(反应): #才能效果和process_response是一样的,必须有返回值,没有则报的错。 打印才能(& # 39;我走了& # 39;) return 才能响应
<强>烧瓶中间件装饰器执行顺序。强>
如果多个<代码> app.before_request 代码>和<代码> app.after_request 代码>,
那么执行顺序也和django类似,
<代码> app.before_request> 代码是按照从上而下执行(文件的上下),<代码> app.after_request> 代码是自下而上执行。
如果在<代码> app.before_request> 代码中<代码> 代码>返回了其他内容,请求被拦截,那么不会执行视图函数,
直接从最后一个<代码>应用程序。after_reqeust> 代码倒着开始执行所有<代码> after_request> 代码。
<>强自定义错误页面:强>
@app.error_handlers (404) def error_404 (arg): & # 39;才能& # 39;& # 39;自定义错误页面,根据状态码定制& # 39;& # 39;& # 39; return 才能;“404错误啦“
模板中定制方法:
<强>前端直接调用后端函数的装饰器:强>
@app.template_global () def xx (a1, a2): ,return a1 + a2 & # 39;& # 39;& # 39; 这个装饰器的作用就是,可以在前端直接通过{{,xx(1、2)}}来调用后端的这个函数。 & # 39;& # 39;& # 39;
<强>相当于过滤器的装饰器强>
@app.template_filter () def db (a1, a2, a3): ,return a1 + a2 + a3 & # 39;& # 39;& # 39; 效果和django的滤波器相似,前端渲染的时候需要注意写法 {{,1 | db(2、3)}}, 1是第一个参数,后面是2、3参数。 & # 39;& # 39;& # 39;
第一次来请求操作的装饰器:
@app.before_first_request def 第一(* args, * * kwargs): ,通过 & # 39;& # 39;& # 39; 只有第一次请求时候才执行的函数装饰器 & # 39;& # 39;& # 39;
烧瓶的中间件一般感觉用处不大,不如装饰器方便
以上就是瓶框架中有哪些常见的装饰器,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。