Jinja2
本身自带许多过滤器,但是有些功能实现需要自己设计特定的过滤器,我熟悉的有两种实现的方法,这里记录经常使用的一种方法。
以难度判断记录下,通过判断1-5,返回不同的难度等级
过滤函数:
1 | def Num2Nandu(num): |
2 | if not isinstance(num, int): |
3 | return '暂无' |
4 | if num == 1: |
5 | return '入门' |
6 | elif num == 2: |
7 | return '初级' |
8 | elif 2<num<=4: |
9 | return '中级' |
10 | elif num == 5: |
11 | return '高级' |
12 | else: |
13 | return '暂无' |
将过滤函数添加到模板过滤器中
1 | bp.add_app_template_filter(Num2Nandu, 'Num2Nandu') #过滤数字-难度,第二个参数为过滤器的名字 |
前端使用自定义的过滤器
1 | <span class="Ori-pic">{{ vul.stars|Num2Nandu }}</span> <!--传入int进行过滤---> |