Django之模板層-自定義過濾器以及標籤
阿新 • • 發佈:2018-12-10
自定義標籤與過濾器
- 在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 %}
過濾器只能接收兩個引數,第一個引數是管道符前的值,第二個引數是:後面傳入的引數,過濾器可以使用在邏輯判斷中
標籤可以傳入任意引數,以空格分隔,標籤不可以使用在邏輯判斷中