django-simple_tag、filter

simple_tag与filter的用法

1.支持自定义函数处理方法

2.支持模板调用

创建步骤:

a.在app目录下创建templatetags文件夹

b.在templatetags中创建任意名称.py文件,example:xxoo.py

c.导入模块

from django import template
register = template.Library()
@register.simple_tag
def add(a1,a2)
    return a1+a2

@register.filter
def delete(a1,a2)
    return a1-a2

#注意这里的filer = filer(),simple_tag = simple_tag()
template模块导入操作

d.在setting.py文件中注册该app

e.在html模板中导入模块{%load xxoo%}

 注意:如果html模板中有{%exntend  'master.html'%}

            {%load xxoo%} 

f.调用

{%add 1 2%} 参数之间用空格隔开

{{参数1|deleter:参数2}} 只能放置两个参数
simple_tag、filter调用方式

对比:

1.simple_tag:可以放置任意个参数,参数之间用逗号隔开,调用方式{% 函数 para1 para2 %},不能使用if else语句判断
2.filter:只能放置两个参数,调用方式{{para1 | 函数:para2}},可以使用if else 语句判断

  

  

原文地址:https://www.cnblogs.com/wangxingwei/p/10750939.html