django的自定义filter和自定义simple_tag
一、自定义过滤器
1、在应用根目录创建一个templatetags包,在该包中保存自己的过滤器
2、注册自定义的过滤器
3、模板中载入
myfilter.py
from django import template register = template.Library() @register.filter(name='key') def key(value, arg): try : red = value[arg] except KeyError: red = 0 return red
html
{%load myfilter%} <tr class="altrow"> <td>1</td> <td>key2</td> <td>{{ dicts|key:"key2" }} </td> </tr>
注意:
- templatetags包必须有__init__.py文件
- 过滤器必须在应用(已添加到 INSTALLED_APPS)中
示例:
它应该和models.py,views.py等在同一级,例如:
polls/ models.py templatetags/ myfilter.py __init__.py views.py
二.自定义simpletag:
1.MyTag.py文件 @register.simple_tag def simple_tag_multi(num1,num2): return num1*num2 2.html中调用 <p>{% simple_tag_multi 12 3 %}</p>
django的自定义filter和自定义simple_tag 自定义filter: 自定义filter: 简单示例:自定义乘法filter: 1.在应用中新建包templatetags 2.新建自定义python文件在templatetags 比如新建MyTag.py文件 3.在MyTag.py新建自定义的规则 from django import template register=template.Library() #固定变量名 @register.filter def multi(num1,num2): return num1*num2 4.html中调用 <p>{{ l.2|multi:2 }}</p>

浙公网安备 33010602011771号