django 自定义simple_tag,filter

SIMPLE_TAG

1、在APP下创建templatetags目录。必须 是templatetags

2、在templatetags目录下创建tag.py,任意名

3、在tag.py 中

from django import template

register=template.Libraty()

@register.simple_tag

def func(a1,a2,...):

  这里写逻辑

  return 逻辑返回的值

4、网页中调用顶部{% load tag%}

{% func a1 a2 a3 %}

缺点:不能作为IF条件

优点:参数可以无数个

FILTER

1、在APP下创建templatetags目录。必须 是templatetags

2、在templatetags目录下创建tag.py,任意名

3、在tag.py 中

from django import template

register=template.Libraty()

@register.filter

def func(a1,a2):

  这里写逻辑

  return 逻辑返回的值

4、网页中调用

顶部{% load tag %}

{{ a1|func:"a2"}}

如果非要有多个

{{a1|func:"a2,a3"}}

缺点:只能有两个参数,优点:可以用于IF判断。

 

posted @ 2018-09-18 20:04  谷辣辣  阅读(336)  评论(0编辑  收藏  举报