自定义simple_tag和filter在html中渲染出来的联系和区别
关于 simple_tag:
1,在app下创建一个(templatetags)目录,(被引用的模块必须放在该目录下,且目录名称不可更改);
2,创建任意py文件;
3,创建template对象;

1 from django import template 2 register = template.Library()
4,定义函数并加上装饰器;

1 @register.simple_tag 2 def test3(a1,a2): 3 temp = a1*a2 4 temp2 = temp+10 5 return temp2
5,在setting中注册app;
6,在应用的html文件的顶部声明要引用的py文件
1 {% load 引用的py文件名 %}
7,使用时可自定义参数,参数之间空格隔开,且参数间空格个数不会影响参数传递;
1 | { % test3 5 7 % } |
1 {% 函数名 参数1 参数2 %}
缺点:不能作为if条件,
优点:可以传任意多个参数
》》》
关于filter:
1.在app01下创建templatetags目录(同上);
2.任意py文件(同上);
3.创建template对象register ;(同上)
4.4,定义函数并加上装饰器;(同上)
1 @register.filter 2 def test4(b1,b2): 3 temp = b1+ b2 4 temp2 = temp + 10 5 return temp2
5.settings中注册app;
6.在顶部{% load xxoo %}
7.使用的时候{{参数1|函数名:"参数2,参数3"}} {{参数1|函数名:数字}}
1 {{ 250|test4:2 }} 2 3 {# {{ 'fhj'|test4:'klp' }}#}
缺点:最能只能传2个参数,不能加空格
优点:能作为if条件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律