Django自定義過濾器filter

2021-09-30 11:07:56 字數 540 閱讀 5568

有時,我們可能需要在判斷某個模板變數(字典)是否包含某個鍵值,而django模板中又不支援in操作符,這時乙個可行的方法就是自己定義這個判斷包含與否的操作。

2、新建乙個init.py(空的就行)檔案和你需要定義filter的python檔案,假定名字為:your_exists_filter.py

3、定義乙個filter

from django import template

register = template.library()

@register.filter(name='exists')

def exists(tool,tool_cfgs):

return true if tool in tool_cfgs else false

由於python是支援in操作符的,所以這裡我們可以直接用。

4、django模板中的使用這個自定義的filter

//todo something

Django自定義過濾器

django中提供了很多的過濾器和標籤,具體可見django官網,例如 upper 化為大寫字母 lower 化為小寫字母 autoescape 自動轉義 block 模板繼承 csrf token 防止跨站偽造請求 extends 模板繼承 filter 過濾器 等 內建的過濾器雖然好用,但是我們...

Django自定義過濾器

為什麼要自定義過濾器?django中雖然已經內建了很多過濾器,但是並不能滿足我們的日常開發,所以我們需要自定義過濾器。在一切配置好了之後,然後在article中新建乙個名為templatetags的package。注意 必須是乙個包,並且包的名字也必須為templatetags package和資料...

django 自定義過濾器

然後在extratags.py檔案中新增自定義的過濾器 from django import template register template.library register.filter name cut 過濾器在模板中使用時的name def mycut value,arg 把傳遞過來的引...