Django之模板层-自定义过滤器以及标签
Posted wualin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django之模板层-自定义过滤器以及标签相关的知识,希望对你有一定的参考价值。
自定义标签与过滤器
- 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.
- 在app中创建templatetags模块(模块名只能是templatetags)
- 创建任意 .py 文件,如:my_tags.py
from django import template
# 该对象名必须是register
register = template.Library()
#自定义过滤器装饰器
@register.filter
def multi_filter(x,y):
return x*y
#自定义标签装饰器
@register.simple_tag
def multi_tag(x,y):
return x*y
使用自定义的过滤器与标签,在需要使用的模板文件中先导入模块,然后再调用过滤器
{# 导入自定义的模块 #}
{% load my_tag_filter %}
{{ i|multi_filter:2 }}
{% multi_tag 5 5 %}
过滤器只能接收两个参数,第一个参数是管道符前的值,第二个参数是:后面传入的参数,过滤器可以使用在逻辑判断中
标签可以传入任意参数,以空格分隔,标签不可以使用在逻辑判断中
以上是关于Django之模板层-自定义过滤器以及标签的主要内容,如果未能解决你的问题,请参考以下文章
Django——模板层(template)(模板语法自定义模板过滤器及标签模板继承)