当前位置:   article > 正文

flask框架模板自定义过滤器_通过装饰器来自定义过滤器,对自己名字全拼实现反转功能

通过装饰器来自定义过滤器,对自己名字全拼实现反转功能

自定义过滤器

过滤器的本质是函数。当模板内置的过滤器不能满足需求,可以自定义过滤器。自定义过滤器有两种实现方式:

  • 一种是通过Flask应用对象的 add_template_filter 方法
  • 通过装饰器来实现自定义过滤器

重要:自定义的过滤器名称如果和内置的过滤器重名,会覆盖内置的过滤器。

需求:添加列表反转的过滤器

方式一

通过调用应用程序实例的 add_template_filter 方法实现自定义过滤器。该方法第一个参数是函数名,第二个参数是自定义的过滤器名称:

  1. def do_listreverse(li):
  2. # 通过原列表创建一个新列表
  3. temp_li = list(li)
  4. # 将新列表进行返转
  5. temp_li.reverse()
  6. return temp_li
  7. app.add_template_filter(do_listreverse,'lireverse')

方式二

装饰器来实现自定义过滤器。装饰器传入的参数是自定义的过滤器名称。

  1. @app.template_filter('lireverse')
  2. def do_listreverse(li):
  3. # 通过原列表创建一个新列表
  4. temp_li = list(li)
  5. # 将新列表进行返转
  6. temp_li.reverse()
  7. return temp_li
  • 在 html 中使用该自定义过滤器
  1. <br/> my_array 原内容:{{ my_array }}
  2. <br/> my_array 反转:{{ my_array | lireverse }}
  • 运行结果
  1. my_array 原内容:[3, 4, 2, 1, 7, 9]
  2. my_array 反转:[9, 7, 1, 2, 4, 3]
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/533780
推荐阅读
相关标签
  

闽ICP备14008679号