Django模板过滤器可以让开发者简单地在前端处理一些不必要的数据,达到自己想的效果,非常简单方便。
-过虑器可以接受参数,滤过器接受参数的方式是在后面加一个冒号,目前只能为过滤器最多提供一个参数
-过滤器支持链式操作,一个过滤器的输出可以当作另一个过滤器的参数传入
-过滤器中如果需要包含空格,则需要使用引号包裹起来
那么django常用的过滤器有哪些呢?
这里我列举一些
###length
返回值长度,一般作用于字符串或者列表
如果value=[1,2,3]
那么
{{value|length}}
就会显示为3
这里还可以使用下面这样的方式来判断value的长度,如
{{if value|length>10}}
{{endif}}
###date
按指定格式对一个日期变量进行格式化。如果 value=datetime.datetime.now()
那么
{{{{ value|date:”Y-m-d H:i:s”}}}}
则会以年-月-日 时:分:秒的形式显示
###safe
将字符串标记为安全,不需要转义!Django的模板中在进行模板渲染的时候会对HTML标签和JS等语法标签进行自动转义,比如如果有人给评论的时候写了一段js代码,这个评论一提交,js代码就执行啦,所以浏览器不让这么做,给你转义了。
###truncatechars
如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“…”)结尾。
###cut
移除value中所有的与给出的变量相同的字符串,比如我要移除空格,就可以写
{{value|cut:’ ’}}
django内置过滤器总览
过滤器
说明
add
加法
addslashes
添加斜杠
capfirst
首字母大写
center
文本居中
cut
切除字符
date
日期格式化
default
设置默认值
default_if_none
为None设置默认值
dictsort
字典排序
dictsortreversed
字典反向排序
divisibleby
整除判断
escape
转义
escapejs
转义js代码
filesizeformat
文件尺寸人性化显示
first
第一个元素
floatformat
浮点数格式化
force_escape
强制立刻转义
get_digit
获取数字
iriencode
转换IRI
join
字符列表链接
last
最后一个
length
长度
length_is
长度等于
linebreaks
行转换
linebreaksbr
行转换
linenumbers
行号
ljust
左对齐
lower
小写
make_list
分割成字符列表
phone2numeric
电话号码
pluralize
复数形式
pprint
调试
random
随机获取
rjust
右对齐
safe
安全确认
safeseq
列表安全确认
slice
切片
slugify
转换成ASCII
stringformat
字符串格式化
striptags
去除HTML中的标签
time
时间格式化
timesince
从何时开始
timeuntil
到何时多久
title
所有单词首字母大写
truncatechars
截断字符
truncatechars_html
截断字符
truncatewords
截断单词
truncatewords_html
截断单词
unordered_list
无序列表
upper
大写
urlencode
转义url
urlize
url转成可点击的链接
urlizetrunc
urlize的截断方式
wordcount
单词计数
wordwrap
单词包裹
yesno
将True,False和None,映射成字符串‘yes’,‘no’,‘maybe’
标签: