django中自定义模板(simple_tag,filter)
2017-07-16 本文已影响0人
赖三石
注意:Django1.11以上才支持
(simple_tag)
a. app下创建templatetags目录
b. templatetags中任意xxoo.py文件
c. 创建template对象 register
from django import template
register = template.Library()
d.
例:
@register.simple_tag
def func(a1,a2)
return a1+a2
e. settings中注册APP
f. 顶部 {% load xxoo %}
g. {% func 1 2 %}
h: {% func 1 2 as k %}
(k可以做循环操作)
缺点:
不能作为if条件
优点:
参数任意
(filter)
a. app下创建templatetags目录
b. templatetags中任意xxoo.py文件
c. 创建template对象 register
from django import template
register = template.Library()
d.
例:
@register.filter
def func(a1,a2)
return a1+a2
e. settings中注册APP
f. 顶部 {% load xxoo %}
g. {{ 参数1|函数名:"参数2" }}
例:{{ a1|func:a2 }}
缺点:
最多两个参数,不能加空格
优点:
能作为if条件