自定義標籤和過濾器
阿新 • • 發佈:2020-08-24
自定義標籤和過濾器
自定義過濾器 1. app應用資料夾中建立一個templatetags檔案件,必須是這個名字 2. templatetags資料夾中建立一個 xx.py檔案,檔名字隨便起 3. 建立自定義過濾器 from django import template register = template.Library() #register固定的名字,註冊器 # @register.filter # def oo(v1,v2): #不帶引數的過濾器 # s = v1 + 'xxoo' # return s @register.filter def oo(v1,v2): #帶引數的過濾器 s = v1 + v2 return s 4. 使用 html檔案中 {% load 檔名 %} {% load xx %} {{ values|oo }} -- 無引數 {{ values|oo:'asdf' }} -- 有引數 5. 注意:引數最多兩個 自定義標籤 1. app應用資料夾中建立一個templatetags檔案件,必須是這個名字 2. templatetags資料夾中建立一個 xx.py檔案,檔名字隨便起 3. 建立自定義標籤 @register.simple_tag def mytag(v1,v2,v3): s = v1 + '和B哥' + v2 + v3 return s 4.使用 {% load xx %} {% mytag s1 '和相璽' '和大壯' %} 5. #可以傳多個引數
inclusion_tag
1. app應用資料夾中建立一個templatetags檔案件,必須是這個名字 2. templatetags資料夾中建立一個 xx.py檔案,檔名字隨便起 3. 建立自定義inclusion_tag @register.inclusion_tag('inclusiontag.html') def func(v1): return {'oo':v1} 4. func的return資料,傳給了inclusiontag.html,作為模板渲染的資料,將inclusiontag.html渲染好之後,作為一個元件,生成到呼叫這個func的地方 5. 使用 {% load xx %} {% func l1 %}