【Flask专题】10.模板-过滤(PyCharm)
模板-过滤(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 %}
上一篇:
IDEA上Java项目控制台中文乱码