Django框架之模板过滤器

news/2025/1/8 19:40:35/

过滤器可以用来修改变量的显示样式。

 

使用方式

格式:{{变量|过滤器方法}}。可以连续使用,形式如:{{变量|过滤器方法1|过滤器方法2}}。

过滤器如下

Lower

转化为小写字母

格式:变量|lower

Upper

转化为大写字母

格式:变量|upper

Join

过滤器可以传递参数,参数用引号包起来

格式:列表|join:’#’

示例:

视图

def template2(request):grades = Grades.objects.get(pk=1)students = Students.stuObj2.filter(grades=1)testlist = ['This', 'is', 'an', 'example', 'template']return render(request, 'test/index.html', {'title': 'This is an example template','info': grades,'students': students,'testlist': testlist})

模板

<ul><li>{{title}}</li><li>{{title|lower}}</li><li>{{title|upper}}</li><li>{{testlist|join:'#'}}</li>
</ul>

效果

Default

如果一个变量没有被提供,或者值为false、空,可以使用默认值。

格式:{{var|default:'没有'}}

示例:

<li>{{test_default|default:'未定义'}}</li>

Date

根据给定格式转换日期为字符串

格式:{{dateVal|date:'Y-m-d'}}

示例:

{{info.create_time|date:'Y-m-d'}}

Capfirst

首字母大写

格式:{{ value|capfirst }}

示例:

{{'title'|capfirst}}

Cut

删除指定值,可去掉字符串中的空格

示例:

{{title|cut:' '}}

Length

显示一个字符串或者数组的长度,例如{{ value|length }}。

加减乘除

Add:过滤器,加减使用

Widthratio

对于创建条形图等,该标签计算给定值与最大值的比率,然后将该比率应用于一个常数。

格式 {% widthratio this_value max_value 100 %}

表示 this_value/max_value * 100

示例:

<h2>加减乘除</h2>
<ul><li>num = {{num}}</li><!--加法--><li>{{num}}+{{num}}={{num|add:10}}</li><!--减法--><li>{{num}}+{{num}}={{num|add:-5}}</li><!--乘法 num * 5--><li>{{num}}*5={% widthratio num 1 5 %}</li><!--除法 num / 5--><li>{{num}}/5={% widthratio num 5 1 %}</li>
</ul>

组合用法

<ul>{% for stu in students %}{% if forloop.counter|divisibleby:2 %}<li style="color:red">{{forloop.counter}}-{{stu.name}}</li>{% else %}<li style="color:blue">{{forloop.counter}}-{{stu.name}}</li>{% endif %}{% empty %}<li>无数据</li>{% endfor %}
</ul>

注意:变量、管道符(|)和过滤器方法之间不能有空格。


http://www.ppmy.cn/news/77925.html

相关文章

使用canvas给图片添加水印

上接文章“图片处理” canvas元素其实就是一个画布&#xff0c;我们可以很方便地绘制一些文字、线条、图形等&#xff0c;它也可以将一个img标签里渲染的图片画在画布上。 我们在上传文件到后端的时候&#xff0c;使用input标签读取用户本地文件后得到的其实是一个Blob对象&a…

Hudi(三)集成Flink

1、环境准备 将编译好的jar包放到Flink的lib目录下。 cp hudi-flink1.13-bundle-0.12.0.jar /opt/module/flink-1.13.2/lib 2、sql-client方式 2.1、修改flink-conf.yaml配置 vim /opt/module/flink-1.13.2/conf/flink-conf.yamlstate.backend: rocksdb execution.checkpoi…

微信小程序点击icon实现分享功能

1.小程序分享功能实现方式 小程序分享功能有两种方式&#xff0c;监听用户点击页面内转发按钮&#xff08; 组件 open-type“share”&#xff09;或右上角菜单“转发”按钮的行为&#xff0c;并自定义转发内容。 使用微信小程序的分享功能需要定义onShareAppMessage(Object obj…

免费开源 | 基于SpringBoot的学生信息管理系统

一、项目简介 学生信息管理后台&#xff0c;包括学生管理、课程管理、成绩管理&#xff0c;适用于课设等&#xff0c;仅具有管理功能&#xff0c;感兴趣的伙伴可以再次完善。 二、软件架构 springboot mybatis thymeleaf 三、系统运行 注&#xff1a;mysql数据库要8.0以上…

pytest+requests+Python3.7+yaml+Allure+Jenkins+docker实现接口自动化

目录 接口自动化测试框架&#xff08;用例自动生成&#xff09; 项目说明 技术栈 环境部署 框架流程图与目录结构图及相关说明 1、框架流程图如下 2、代码目录结构图如下 关联详解 函数助手详解 代码设计与功能说明 1、定义运行配置文件 runConfig.yml 2、接口配置…

数慧时空20年磨一剑:推出智能遥感云平台DIEY,自然资源多模态大模型“长城”,为地理信息产业提速

作者 | 伍杏玲 出品 | CSDN 据中国地理信息产业发展报告公布的数据&#xff0c;截至2020年末&#xff0c;行业从业单位13.8万家&#xff0c;从业人数336.6万&#xff0c;到2021年末&#xff0c;从业单位增加到16.4万家&#xff0c;从业人数增加到398万&#xff0c;产业规模越…

CSDN第54期编程竞赛活动经验

题目1&#xff1a;陶陶摘苹果 陶陶家的院子里有一棵苹果树&#xff0c;每到秋天树上就会结出 10 个苹果。苹果成熟的时候&#xff0c;陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳&#xff0c;当她不能直接用手摘到苹果的时候&#xff0c;就会踩到板凳上再试试。 现在已知 10…

css学习-内容加载占位动画(渐变动画)

文章目录 学习链接纯CSS渐变动画结合vue指令简单使用 学习链接 Git Hub前端50天50个项目 | 第24 内容文本 纯CSS渐变动画 <style lang"scss" scoped> .card-wrapper {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center; …