django -- 自定义simpletag 和 filter
2024-08-28 20:15:40
django中自定义simpletag,即使用自己定义的函数在html中处理数据。
步骤:
1、创建并注册app
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mytag',
]
2、在此app下创建目录templatetags
3、在templatetags目录下创建任意py文件,在文件中创建template对象register
from django import template register = template.Library() @register.simple_tag
def testtag(v1, v2):
return v1 + v2
4.修改html
顶部添加{% load ttag %}
{% load ttag %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>tag</title>
</head>
<body>
<span>{% testtag 4 7 %}</span>
</body>
</html>
效果:
自定义filter和tag类似
修改 @register.simple_tag 为 @register.filter
使用方式变为:{{ 'param1'|testfilter:'param2' }}
代码:
ttag.py
from django import template register = template.Library() @register.filter
def testfilter(v1, v2):
return v1 + v2
{% load ttag %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>tag</title>
</head>
<body>
<span>{% testtag 4 7 %}</span>
<span>{{ 'Hello'|testfilter:'World!' }}</span>
</body>
</html>
效果:
两者对比:
simpletag不能作为if条件,而filter可以;
filter的参数必须放到字符串里而且不能加空格,而simpletag的参数以空格分割;
最新文章
- ORACLE OLAP错误ORA-06512: at ";SYS.OLAPIHISTORYRETENTION";
- matlab画图形函数 semilogx
- 心血来潮学python
- 【MVC】 js,css 压缩
- MvcPager分页控件的使用
- URL链接中文参数乱码的若干处理方法
- CICS的database中R D中参数的含义
- 关于SWT中的布局Layout
- 数据库中substring的使用方法 CONVERT(varchar(12) , getdate(), 112 )
- java 使用substring 截取特殊字符串的后一位或者数字
- MySQL 大DML操作建议
- 大约sources.list和apt-get [转载]
- 使用SQL Server临时表来实现字符串合并处理
- SQL数据库的基础操作
- 使Tomcat指向指定的JDK目录
- Spring Boot + Websocket + Thymeleaf + Lombok
- js操作中要去注意的一些问题
- okio:定义简短高效
- iOS实现 webView loadHTMLString加载外部css、js样式
- python:数据类型dict