模板-过滤(PyCharm)
在HTML页面设置默认值
当取不到message的值时,显示默认值
<body>
{{message|default('No message!')}}
</body>
支持链式操作
{{message|default('no message!')|title}}
title:标题格式
其他一些字符串过滤器:
default(‘****’):默认值
title:标题格式
capitalize:首字母大写
lower:小写
upper:大写
reverse:反转
trim:取空格
format():格式化
safe:转义
{% autoescape False%} 。。。{% endautoescape %}: 开启/关闭自动转义
format()例举
{{ '%s有%d本书。'|format('张三', 10)}}
safe例举
{{mes}}<br>
{{mes|safe}}
autoescape例举
{% autoescape False %}
{{mes}}<br>
{{mes1}}
{% endautoescape %}
数值过滤器例举
abs
round:小数点后位数设置
@app.route('/filter')
def use_filter():
return render_template('index2.html', money=1.2345)
<!-- 取小数点后两位,向下取整-->
{{money|round(2,'floor')}}
列表的过滤
first
last
length
sort:数值排序
sum
join():对列表进行拼接操作
@app.route('/filter')
def use_filter():
fs = ['张三', '李四', '王五', ]
return render_template('index2.html', fs=fs)
{{fs}}
<hr>
{{fs|first}} -- {{fs|last}}
<hr>
{{fs|length}}
<hr>
{{fs|join('--')}}
字典的过滤
keys()
values()
items()
@app.route('/filter')
def use_filter():
users = [{'a': 145, 'b': 255}, {'a': 98, 'b': 21}, {'a': 12, 'b': 600}]
return render_template('index2.html', users=users)
{{users}}
<hr>
<!--对每组字典中键为'b'的值进行降序排列-->
{% for user in users|sort(attribute='b', reverse=True) %}
{{user}}
{% endfor %}
对字典类型进行遍历
原始数据:<br>
{{users}}
<hr>
对字典进行遍历:<br>
{% for user in users %}
{% for key,value in user.items() %}
<p>{{key}}---{{value}}</p>
<hr>
{% endfor %}
{% endfor %}