jianja2模板过滤器的使用
定义
过滤器:当我们使用一个变量时,可能会使用某个函数先对变量进行处理渲染,这个过程就是过滤器。
在模板中的使用方式是通过管道符号(|)来获取的
jinja2内置过滤器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FPmvrKjN-1689066182946)(C:/Users/volet/AppData/Roaming/Typora/typora-user-images/image-20230706112353650.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yz1R1JGz-1689066182947)(C:\Users\volet\AppData\Roaming\Typora\typora-user-images\image-20230706112447185.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VpifQ5md-1689066182948)(C:\Users\volet\AppData\Roaming\Typora\typora-user-images\image-20230706112518600.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LNzfHdGy-1689066182948)(C:\Users\volet\AppData\Roaming\Typora\typora-user-images\image-20230706112646336.png)]
jinja2自定义过滤器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kWtYWJNm-1689066182949)(C:\Users\volet\AppData\Roaming\Typora\typora-user-images\image-20230706112934159.png)]
过滤器的使用
@app.route("/filter")
def filter_demo():
user = User(username="知了", email="xx@qq.com")
return render_template("filter.html", user=user)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>过滤器demo</title>
</head>
<body>
{{user.username}}-{{user.username|length}}
</body>
</html>
运行结果rt
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d19wI3BL-1689066182949)(C:\Users\volet\AppData\Roaming\Typora\typora-user-images\image-20230706113229616.png)]
rt
[外链图片转存中…(img-d19wI3BL-1689066182949)]