templatetags
_init_.py
my_tag.py
from django import template from django.utils.safestring import mark_safe register = template.Library() #register的名字是固定的,不可改变 @register.filter def filter_multi(v1,v2): return v1 * v2 @register.simple_tag def simple_tag_multi(v1,v2): return v1 * v2 @register.simple_tag def my_input(id,arg): result = "<input type=‘text‘ id=‘%s‘ class=‘%s‘ />" %(id,arg,) return mark_safe(result)
@register.simple_tag def my_add100(v1): return v1+100 @register.filter def my_add1000(v1): return v1+1000 -------------------------------.html {% load xxx.py %} #首行 <h1>{% my_add100 188 %}</h1> <h1>{{ 888|my_add1000 }}</h1> 结果: 288 1888
注意: filter可以用在if等语句后,simple_tag不可以
filter的参数不能超过两个
原文:https://www.cnblogs.com/yehost/p/10253219.html