1. 程式人生 > >Django之模板層-自定義過濾器以及標簽

Django之模板層-自定義過濾器以及標簽

library djang 必須 go import emp 使用 rar 模板 filter

自定義標簽與過濾器

  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 %}

過濾器只能接收兩個參數,第一個參數是管道符前的值,第二個參數是:後面傳入的參數,過濾器可以使用在邏輯判斷中