flask中使用过滤器
后台传递参数 message 到前台
def index():
message = 'hello word'
return render_template('index.html', message=message)
前台页面 index.html
<p>{{ message }}</p>
正常显示结果
hello word
使用过滤器
<p>{{ message|title }}</P>
Hello Word
变量名后面加一根竖线,再跟上过滤器的名字就能使用特定的过滤器修改变量了。列如上面使用title过滤器修饰 hello world 就能让单词的首字母大写显示。
常用的过滤器
过滤器名 | 说明 |
---|---|
safe | 渲染时不转义 |
capitalize | 把值的首字母转换成大写,其他字母转换成小写 |
lower | 把值转换成小写形式 |
upper | 把值转换成大写形式 |
title | 把值中每个单词的首字母都转换成大写 |
trim | 把值的首尾空格都去掉 |
striptags | 渲染前把值中的所有的HTML标签都删掉 |
safe 过滤器值得特别说明一下。默认情况下,出于安全考虑, Jinja2 会转义所有变量。例如, 如果一个变量的值为 ‘<h1>Hello</h1>
’, Jinja2 会将其渲染成 '<h1>Hello</ h1>'
,浏览器能显示这个 h1 元素,但不会进行解释。很多情况下需要显示变量中存储的 HTML 代码,这时就可使用 safe 过滤器。
完整的过滤器列表可在 Jinja2 文档 http://jinja.pocoo.org/docs/templates/#builtin-filters 中查看。