Django Template过滤器
addslashes 为字符串需要的地方加上转义字符 {{ msg | addslashes }},如msg的内容为“It's a cat”,会变成“It\'s a cat”
capfirst 为字符串加上首字大写 {{ msg | capfirst }},如msg的内容为“django”,会变为“Django”
center、ljust、rjust 为字符串内容加上空格后居中、靠左、靠右对齐 {{ msg | center:“15” }}
cut 在字符串中删除指定的子字符串 {{ msg | cut:" " }},移除所有空格字符
date 设置日期的显示格式 {{ value | date:"Y-m-d H:i:s" }}。value为datatime的标准格式,使用date来指定显示的格式与内容
default 如果没有值,就使用默认值 {{ msg | default:"没有信息" }}
dictsort 为字典形式内容的变量排列顺序 {{ value | disctsort:"name" }},以名字字段来作为排序的依据
dictsortreversed 上一指定的反向排序
divisibleby 测试数值数据是否可被指定的数整除 {{ msg | divisibleby:5 }},测试value是否可被5整除
escape 把字符串中HTML标记变成先使用的字符串 {{ msg | escape }},msg中若有HTML标志,则会失去作用且被以文字的形式显示出来
filesizeformat 以人们习惯的方式显示文件的大小的格式(KB、MB等) {{ value | filesizeformat }}
first 只取出列表数据中的第一个 {{ value | first }}
last 只取出列表数据中的最后一个 {{ value | last }}
length 返回列表数据的长度 {{ value | length }}
length_is 测试数据是否为指定长度 {{ value | length_is:"3" }},测试values的长度是否为3
floatformat 以指定的浮点数格式来显示数据 {{ value | floatformat:3 }},指定3位小数位数
linebreaks 把文字内容的换行符号转换为HTML的<br>和<p></p> {{ msg | linebreaks}}
linebreaksbr 把文字内容的换行符号转换为<br> {{ msg | linebreaksbr}}
linenumber 为显示的文字加上行号 {{ msg | linenumbers }}
lower/upper 把字符串内容全部转换成小写/大写
random 以随机数将前面的数据内容显示出来 {{ msg | random}}
safe 标记字符串为安全的,不需要再处理转义字符 {{ msg | safe }}
slugify 把前面的字符串空格变成“-”,让此字符串可以安全地放在网址栏上 {{ msg | slugify }},如msg的内容为“It's a cat”,会变成“It's-a-cat”
striptags 把所有HTML标记都删除 {{ msg | striptags}}
truncatechars 把过长的字符串裁切成指定的长度,同时最后面的3个字符会转换成“...” {{ msg | truncatechars:12 }}
wordcount 计算字数 {{ msg | wordcount}}
yesno 按照值的内容是True、False还是None,显示出有意义的内容 {{ msg | yesno:"是,否,可能吧"}}
如果想要使显示内容的表达更人性化点,可以使用django.contrib.humanize,详细内容请参考网址:
https://docs.djangoproject.com/en/dev/ref/contrib/humanize/#re-contrib-humanize
使用方法:
1. 在settings.py中的INSTALLED_APP中加入此模块此模块
2. 在Template文件中加上{% load humanize %}