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的参数以空格分割;

最新文章

  1. ORACLE OLAP错误ORA-06512: at &quot;SYS.OLAPIHISTORYRETENTION&quot;
  2. matlab画图形函数 semilogx
  3. 心血来潮学python
  4. 【MVC】 js,css 压缩
  5. MvcPager分页控件的使用
  6. URL链接中文参数乱码的若干处理方法
  7. CICS的database中R D中参数的含义
  8. 关于SWT中的布局Layout
  9. 数据库中substring的使用方法 CONVERT(varchar(12) , getdate(), 112 )
  10. java 使用substring 截取特殊字符串的后一位或者数字
  11. MySQL 大DML操作建议
  12. 大约sources.list和apt-get [转载]
  13. 使用SQL Server临时表来实现字符串合并处理
  14. SQL数据库的基础操作
  15. 使Tomcat指向指定的JDK目录
  16. Spring Boot + Websocket + Thymeleaf + Lombok
  17. js操作中要去注意的一些问题
  18. okio:定义简短高效
  19. iOS实现 webView loadHTMLString加载外部css、js样式
  20. python:数据类型dict

热门文章

  1. Android学习笔记之Activity详解
  2. 新手向——关于Python3.5在Windows 10 系统下发布模块的终极讲解
  3. Android Hook神器:XPosed入门与登陆劫持演示
  4. 菜鸟夜谈android反编译
  5. HDU3652 B-number 数位DP第二题
  6. 每天一个linux命令(性能、优化):【转载】top命令
  7. sublime自动格式化代码插件HTML-CSS-JS Prettify安装
  8. hdu4261 Estimation[暴力dp+对顶堆]
  9. sqlserver docker 安装部署试用
  10. 学习笔记:AJAX 跨域问题