自定義過濾器及標籤

2021-09-11 05:26:36 字數 982 閱讀 8063

自定義模板標籤案例

定義復用

templates存放模板的目錄

templatetags存放自定義標籤及過濾器的目錄

templatetags這個目錄名字是固定的,而裡面的模組名是自定義的

定義非常簡單,就是寫乙個函式,乙個帶有乙個或兩個引數的python引數:

也可以把register.filter()用做裝飾器

沒有宣告name引數,django將使用函式名作為過濾器的名字

django.template.labrary.******_tag()

註冊

引用上下文變數(views中render傳遞到模板中的那個context)

使用自定義模板標籤

django.template.library.inclusion_tag()

包含標籤的功能是可以通過渲染另外乙個模板來顯示一些資料

很多地方都可能會用到下面這幾行**,除了choices(模板變數)這幾個變數不一樣之外,其他的都是格式都一樣時,那麼我們就可以把這部分**封裝在乙個包含標籤中

index.html的部分**:

#}

#}#}

customer_tags.py的部分**:

@register.inclusion_tag('students/show_list_as_ul.html')    #引數是想要傳的模板路徑

def show_list_as_ul(value, style):

return

# registerinclusion_tag('students/show_list_as_ul.html')(show_list_as_ul)

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

三個必須 在應用下建立乙個名字 必須 叫templatetags資料夾 在該資料夾內建立 任意 名稱的py檔案 如 mytag.py 在該py檔案內 必須 先書寫以下兩句話 乙個子都不能錯 from django import template register template.library 現...

自定義過濾器

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

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

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