{{ value | filter : "params" }}
並非全部的filter都用參數
每個單字以大寫開頭
{{ text | title }}
日期格式
{{ mydate | data : "Y-m-d" }}
大寫text
{{ text | upper }}
小寫
{{ text | lower }}
數字加法,number變數必須要是數字型別
{{ number | add:"2" }}
顯示前n個字元
{{ text | truncatewords:80 }} # 前80
自製Filter
新增templatetags資料夾於app底下,注意不是project而是app
接著於templatetags新增__init__.py 和 tags.py,內容如下:
from django import template
register = template.Library()
def cut(value, arg):
return value.replace(arg,'')
register.filter('cut', cut) # 註冊cut function 成 'cut'
自製Filter,使用decorator
tags.py改成
from django import template
register = template.Library()
@register.filter(name='cut')
def cut(value, arg):
return value.replace(arg,'')
上述設定完就可以使用自製的Filter
{{ text | cut:'cool' }}
自製Tag
import datetime
from django import template
register = template.Library()
@register.simple_tag
def current_time(format_string):
return datetime.datetime.now().strftime(format_string)
自製Tag
import datetime
from django import template
register = template.Library()
@register.simple_tag
def current_time(format_string):
return datetime.datetime.now().strftime(format_string)
參考:https://docs.djangoproject.com/en/1.11/topics/templates/
沒有留言:
張貼留言