自定義過濾器,標籤,inclusion tag

2022-10-04 02:42:05 字數 1141 閱讀 9615

三個必須

在應用下建立乙個名字"必須"叫templatetags資料夾

在該資料夾內建立"任意"名稱的py檔案 如 : mytag.py

在該py檔案內"必須"先書寫以下兩句話(乙個子都不能錯)

from django import template

register = template.library()

現在開始自定義過濾器

# 後端

@register.filter(name='baby')

def my_sum(v1, v2):

return v1 + v2

# 前端

}

@register.******_tag(name='plus')

def index(a,b,c,d):

return '%s-%s-%s-%s'%(a,b,c,d)

# 使用

標籤多個引數彼此之間空格隔開

# 輸出

jason-123-123-123

內部原理:現在views.py定義乙個方法,再定乙個頁面並呼叫方法,並且可以傳值,該方法會生成一些資料然後傳遞給html頁面,再將渲染好的結果放到呼叫的位置。

@register.inclusion_tag('lift.html')

def left(n):

data = ['第{}項'.format(i) for i in range(n)] # 列表生成式

# 將data傳遞給'lift.html'

# 第一種方式

return

# 第二種方式

當html頁面某乙個地方需要傳引數才能夠動態的渲染,並且在多個頁面上都需要使用到該區域性,就可考慮該區域性頁面改為inclusion_tag

自定義過濾器及標籤

自定義模板標籤案例 定義復用 templates存放模板的目錄 templatetags存放自定義標籤及過濾器的目錄 templatetags這個目錄名字是固定的,而裡面的模組名是自定義的 定義非常簡單,就是寫乙個函式,乙個帶有乙個或兩個引數的python引數 也可以把register.filter...

自定義過濾器

這裡的過濾器的作用主要是在業務邏輯裡面判斷,傳遞的引數是否有誤,然後在實現類裡面去判斷具體的業務資料,執行流程和servlet的過濾器相類似,但是執行時機和作用大不相同,servlet的執行時機是在請求資源,在達到control之前去執行,通過執行鏈,我們的這個過濾器是在control裡,如下.先定...

Django自定義過濾器和自定義標籤

3 在模板下建立任意名稱的.py檔案 4 在剛剛建立的.py檔案中定製過濾器 from django.template import library register library register.filter name rule 最多包含兩個引數 defrule value,before 將b...