一周学会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 }}

运行结果:

相关推荐
程序员徐师兄6 分钟前
Python基于flask的智慧交通可视化,大数据智慧交通数据可视化系统
大数据·python·flask·智慧交通可视化·python 交通数据分析
李昊哲小课30 分钟前
Jupyter Notebook中使用GPU进行计算
人工智能·python·jupyter
昊大侠32 分钟前
PyTorch 环境中 CUDA 版本冲突问题排查与解决
人工智能·pytorch·python
Only*1 小时前
pyautogui库的screenshot()函数
python
起个破名想半天了2 小时前
Web自动化之Selenium execute_script函数常用JS脚本
javascript·python·selenium·自动化
Joshuahgk2 小时前
MySQL 入门“鸡”础
数据库·python·mysql
起个破名想半天了2 小时前
Web自动化之Selenium控制已经打开的浏览器(Chrome,Edge)
python·selenium·控制指定端口浏览器
运维小子2 小时前
大语言模型架构:从基础到进阶,如何理解和演变
人工智能·python·语言模型
belong_to_you2 小时前
【Python模块】——pymysql
开发语言·python
Lin_Coder_3 小时前
Python入门 — 类
开发语言·python