一.为什么要自定义过滤器
过滤器的本质是函数。当模板内置的过滤器不能满足需求,可以自定义过滤器。
二.自定义过滤器两种方式
方式一
- 先定义函数
- 后添加到过滤器列表,app.add_template_filter(‘函数名’,‘过滤器名称’)
def do_listreverse(li):# 通过原列表创建一个新列表temp_li = list(li)# 将新列表进行返转temp_li.reverse()return temp_liapp.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>