关于 simple_tag:
1,在app下创建一个(templatetags)目录,(被引用的模块必须放在该目录下,且目录名称不可更改);
2,创建任意py文件;
3,创建template对象;
from django import template
register = template.Library()
4,定义函数并加上装饰器;
@register.simple_tag
def test3(a1,a2):
temp = a1*a2
temp2 = temp+10
return temp2
5,在setting中注册app;
6,在应用的html文件的顶部声明要引用的py文件
{% load 引用的py文件名 %}
7,使用时可自定义参数,参数之间空格隔开,且参数间空格个数不会影响参数传递;
{% test3 5 7 %}
{% 函数名 参数1 参数2 %}
缺点:不能作为if条件,
优点:可以传任意多个参数
》》》
关于filter:
1.在app01下创建templatetags目录(同上);
2.任意py文件(同上);
3.创建template对象register ;(同上)
4.4,定义函数并加上装饰器;(同上)
@register.filter
def test4(b1,b2):
temp = b1+ b2
temp2 = temp + 10
return temp2
5.settings中注册app;
6.在顶部{% load xxoo %}
7.使用的时候{{参数1|函数名:"参数2,参数3"}} {{参数1|函数名:数字}}
{{ 250|test4:2 }} {# {{ 'fhj'|test4:'klp' }}#}
缺点:最能只能传2个参数,不能加空格
优点:能作为if条件