自定义过滤器

一.为什么要自定义过滤器

过滤器的本质是函数。当模板内置的过滤器不能满足需求,可以自定义过滤器。

二.自定义过滤器两种方式

方式一

  • 先定义函数
  • 后添加到过滤器列表,app.add_template_filter('函数名','过滤器名称')
def do_listreverse(li):
    # 通过原列表创建一个新列表
    temp_li = list(li)
    # 将新列表进行返转
    temp_li.reverse()
    return temp_li

app.add_template_filter(do_listreverse,'lireverse')

方式二

  • 定义函数,直接使用@app.template_filter('过滤器名称')装饰
    @app.template_filter('lireverse')
    def do_listreverse(li):
      # 通过原列表创建一个新列表
      temp_li = list(li)
      # 将新列表进行返转
      temp_li.reverse()
      return temp_li
    

三.在html代码中使用过滤器

  • 在 html 中使用该自定义过滤器
<h2>my_array 原内容:{{ my_array }}</h2>
<h2> my_array 反转:{{ my_array | lireverse }}</h2>