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

ops/2025/2/27 17:21:36/

锋哥原创的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 }}

运行结果:


http://www.ppmy.cn/ops/161733.html

相关文章

Java基础关键_011_ String 类与正则表达式(二)

目 录 一、正则表达式 1.说明 2.应用 3. 相关方法 &#xff08;1&#xff09;replace(CharSequence target, CharSequence replacement) &#xff08;2&#xff09;replaceAll(String regex, CharSequence replacement) &#xff08;3&#xff09;split(String regex) &…

huggingface部署本地大模型DeepSeek-R1-Distill-Llama-70B使用streamlit构建交互式 Web 应用

文章目录 一、Streamlit介绍二、模型下载三 、模型部署四、效果展示 一、Streamlit介绍 Streamlit 是一个开源的 Python 库&#xff0c;专门用于快速构建和部署交互式 Web 应用程序&#xff0c;尤其适合数据科学和机器学习领域。以下是关于 Streamlit 的详细介绍&#xff1a; …

OA办公系统自动渗透测试过程

目录 一、下载环境源码 二、部署环境 三、测试 XSS漏洞 SQL注入 文件上传漏洞 一、下载环境源码 OA源码打包地址: https://download.csdn.net/download/weixin_43650289/90434502?spm=1001.2014.3001.5503 二、部署环境

3DUNet-Pytorch-master环境配置(3dunet)

1. 移除虚拟环境 conda remove --name 3dUnet --all 2. 查看虚拟环境 conda env list 2. 创建虚拟环境的命令 conda create --name 3dunet python3.8 &#xff08;之前用的 python3.6 因为重装了系统这个版本不能用了&#xff09; 3. 安装依赖包 pip3 install torch pi…

DeepSeek回答:AI时代Go语言学习路线

最近有小伙伴经常会问&#xff1a;**该如何学习入门Go语言&#xff1f;怎样提升Go语言Coding水平&#xff1f;**这篇文章我们就使用DeepSeek来梳理下Go语言在AI时代的学习路线。 向DeepSeek提问的问题原文&#xff1a; 你现在是一名资深的Go语言工程师&#xff0c;精通Go语言并…

硬件工程师入门教程

1.欧姆定律 测电压并联使用万用表测电流串联使用万用表&#xff0c;红入黑出 2.电阻的阻值识别 直插电阻 贴片电阻 3.电阻的功率 4.电阻的限流作用 限流电阻阻值的计算 单位换算关系 5.电阻的分流功能 6.电阻的分压功能 7.电容 电容简单来说是两块不连通的导体加上中间的绝…

EX_25/2/22

找到第一天mystring练习&#xff0c;实现以下功能 mystring str "hello" mystring ptr "world" str str ptr; str ptr str[0] H #include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #in…

React + TypeScript 复杂布局开发实战

React TypeScript 复杂布局开发实战 一、项目架构设计&#xff08;基于最新技术栈&#xff09; 1.1 技术选型与工程创建 # 使用Vite 5.x React 19 TypeScript 5.4 npx create-vitelatest power-designer-ui --template react-ts cd power-designer-ui && npm inst…