目前位置: 首页 » Django »正文

django模板中常用的过滤器

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’

推荐阅读