码迷,mamicode.com
首页 > 其他好文 > 详细

Django之模板层-自定义过滤器以及标签

时间:2018-12-10 22:07:30      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:library   port   pre   django   逻辑判断   .lib   配置   模板   模板文件   

自定义标签与过滤器

  1. 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.
  2. 在app中创建templatetags模块(模块名只能是templatetags)
  3. 创建任意 .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之模板层-自定义过滤器以及标签

标签:library   port   pre   django   逻辑判断   .lib   配置   模板   模板文件   

原文地址:https://www.cnblogs.com/wualin/p/10099063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!