JinJa2常见过滤器:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<!-- JinJa2模板中常见的三种过滤器方式 -->
<!-- 1.在参数后加 | 过滤器名 -->
{{ "<h1>123</h1>" }}<br>
{{ "<h1>123</h1>" | safe }}<br>
<!-- 将小写字母全部转为大写的过滤器upper -->
{% filter upper %}
"abcdefg00abc"
{% endfilter %}<br>
<!-- 在后端自定义的过滤器addNumTen -->
{{ "123" | addNumTen }}
</body>
</html>
JinJa2自定义过滤器(使用装饰器):
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
return render_template("code_19_filter.html")
# 自定义过滤器
# 定义一个算数函数
@app.template_filter("addNumTen") # 里面的参数表示过滤器的名字
def add_num_ten(n):
try:
n = int(n)
except Exception as e:
return "参数错误"
return n + 10
if __name__ == '__main__':
app.run()
JinJa2自定义过滤器(直接添加到模板过滤器中):
复制代码
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
return render_template("code_19_filter.html")
# 定义一个算数函数
def add_num_ten(n):
try:
n = int(n)
except Exception as e:
return "参数错误"
return n + 10
# 自定义过滤器
# 第一个参数:表示自定义的函数名字,
# 第二个参数表示过滤器的名字
app.add_template_filter(add_num_ten, "addNumTen")
if __name__ == '__main__':
app.run()
运行效果:
