欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 一周学会Flask3 Python Web开发-Jinja2模板过滤器使用

一周学会Flask3 Python Web开发-Jinja2模板过滤器使用

2025/7/22 2:37:55 来源:https://blog.csdn.net/caoli201314/article/details/145863080  浏览:    关键词:一周学会Flask3 Python Web开发-Jinja2模板过滤器使用

锋哥原创的Flask3  Python Web开发 Flask3视频教程:

2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

在Jinja2中,过滤器(filter)是一些可以用来修改和过滤变量值的特殊函数,过滤器和变量用一个竖线 ' | '(管道符号)隔开,需要参数的过滤器可以像函数一样使用括号传递。

Jinja2常用过滤器如下表格:

过滤器说明
abs设置数值的绝对值
default设置默认值
escape转义字符,转成HTML的语法
first获取上下文的第一个元素
last获取上下文的最后一个元素
length获取上下文的长度
join功能与Python的join语法一致
safe将上下文转义处理
int将上下文转换为int类型
float将上下文转换为float类型
lower将字符串转换为小写
upper将字符串转换为大写
replace字符串的替换
truncate字符串的截断
striptags删除字符串中所有的HTML标签
trim截取字符串前面和后面的空白字符
string将上下文转换成字符串
wordcount计算长字符串的单词个数

我们来看一个示例,视图函数里定义一个titleA

titleA = 'student'

student.html

<h3>过滤器</h3>
first: {{ titleA | first }}<br>
last:{{ titleA | last }}<br>
length:{{ titleA | length }}<br>
upper:{{ titleA | upper }}

运行结果:

有时候,jinjia2默认提供的过滤器不够我们用,我们还可以自定义过滤器。比如我们开发过程中,经常需要格式化日期。我们可以开发一个日期过滤器。

先自定义处理函数,然后通过add_template_filter添加自定义过滤器

# 格式化下日期
def date_format(value, format="%Y年%m月%d日"):return value.strftime(format)# 添加自定义过滤器
app.add_template_filter(date_format, "dateformat")

视图函数里面添加一个日期变量

timeA = datetime.now()

student.html

<h3>自定义过滤器</h3>
{{ timeA | dateformat }}

运行结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com