目录
过滤器的作用
Jinja2模板中的过滤器起到一个简单的渲染作用,它可以把接收到的数据经过简单的处理重新显示。
如何添加过滤器
在模板中的可变参数后,添加管道符和过滤器名字即可完成添加过滤器。例如下面的HTML代码,可变参数name后有一个capitalize过滤器。(⚠️注意:过滤器名称是不能自定义的)capitalize过滤器可以将接收的字符串首字母变为大写,其余字母变为小写。
<p>{
{name | capitalize}}</p>
代码展示
HTML代码:
这里使用了两个过滤器capitalize和upper。upper过滤器的作用是将所有字母转换成大写。capitalize过滤器的作用是将首字母大写,其余字母转换成小写。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>show Jinja2 filter</title>
</head>
<body>
<p>{
{name | capitalize}}</p>
<p>{
{name2 | upper}}</p>
</body>
</html>
Python脚本:
分别向模板中定义的两个参数name和name2传入一个相同的字符串。
import flask
import webbrowser
app = flask.Flask(__name__)
@ app.route("/")
def index():
name = "Python is FUN."
return flask.render_template("filter.html",
name=name,
name2=name)
if __name__ == '__main__':
webbrowser.open("http://127.0.0.1:8890")
app.run(host="0.0.0.0", port="8890")
运行结果
可以看出过滤器对字符串显示重新做了修改和调整。
过滤器介绍
1. safe
safe过滤器在渲染时不转义,即一个没有任何效果作用的过滤器。
HTML代码:
<!DOCTYPE