2、編寫自定義過濾器 test_filter.py
#!/usr/bin/env python
#coding:utf-8
from django import template
from utils.timebefore import timebefore
register = template.library()
def test_filter(value,arg=none):
'''擴大原來的2倍'''
return value * 2
register.filter('test', test_filter)
當然register.filter('test',test_filter)可以用裝飾器代替
@register.filter(name='cut')
def cut(value, arg):
return value.replace(arg, '')
@register.filter
def lower(value):
return value.lower()
如果沒有自定過濾器名稱,django使用函式名作為過濾器的名字。
3、在模版中開頭處載入過濾器
4、在模版中使用過濾器:}
自定義標籤:
標籤的定義比過濾器要複雜,自定義標籤需要告訴模版系統如何編譯和渲染。
參考:
django 模版系統 標籤的自定義
為了自定義乙個模版標籤,你要告訴django遇到這個標籤的時候該怎麼辦。當django編譯乙個模版時,它將原來的模版分成乙個個節點 node 每個節點都是django.template.node的乙個例項,並且具備render 方法,於是,乙個已編譯的模版就是節點物件的乙個列表,例如 hello,b...
Django 自定義標籤
模版是乙個用django模版語言標記過的python字串。模版可以包含模版標籤和變數。模版標籤是在乙個模版裡起作用的標記。比如,乙個模版標籤可以產生控制結構的內容 if或者for 可以獲取資料庫內容或者訪問其它模版標籤。乙個標籤塊被包圍 變數標籤被 包圍 context是乙個傳遞給模版的key va...
Django 自定義標籤
新建乙個資料夾mydefined裡面在新建乙個templatetags在裡面新建mytags.py mytags.py 劉文豪 大帥哥 from django import template register template.library 建立模板物件 定義模板節點 class reversal...