比如,現在通過資料採集,得到了全國3億人的生日,然後要在前端進行展示,但是,由於資料**多處,導致生日的格式各種各樣,比如 1983-02-03 ,2023年4月16日,這個時候如果資料採集過程當中沒有進行資料過濾,就需要有一種功能針對每一條資料的日期進行修改。這時候就需要用到過濾器了。在templatetags當中的檔案裡面編寫過濾器在前端使用過濾器settimetages和python檔名對應,settime和過濾器python檔案下的@register.filter(name="settime")中的名字對應。
接收引數,按照年齡返回對應的年齡段。settimetages.py檔案內容如下:
結果如下;import re
from django import template #引入django的template
register = template.library() #呼叫template下的方法
@register.filter(name="settime") #給自定義過濾器起的名字,前端使用過濾器的名字為settime
def set_time(value): #編寫方法
""":param value: 接收前台傳過來的引數,就是settime之前的資料
:return:
"""res = re.findall(r"(\d).*?(\d).*?(\d)",value)
result = 2019 - int(res[0][0])
lst = [[12,"少年"],[22,"青年"],[35,"壯年"],[45,"中年"],[60,"老年"],[100,"太古"]]
for data in lst:
if result前端主要內容如下:
} }
} }
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 把傳遞過來的引...