Django框架模版渲染与过滤器使用
前端模版使用过滤器,如时间格式化等
'''都是在前端页面中使用'''
#default
如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。
{{ value|default:"nothing"}}#给value这个值设置一个默认值,如果value没有传值或者值为空的话就显示nothing
#length
返回值的长度,作用于字符串和列表
{{ value|length }}#返回value的长度,如 value=['a', 'b', 'c', 'd']的话,就显示4.
#filesizeformat
将值格式化为一个 “人类可读的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:
{{ value|filesizeformat }}#如果 value 是 123456789,输出将会是 117.7 MB。
#slice
切片,如果 value="hello world",还有其他可切片的数据类型
{{value|slice:"2:-1"}}
#date
格式化时间,如果 value=datetime.datetime.now()
{{ value|date:"Y-m-d H:i:s"}}
#safe
后端发送一个字符串形式的TML标签,前端可以通过safe方法,把这个字符串变成前端标签
value = "<a href='#'>点我</a>" 和 value="<script>alert('123')</script>"
{{ value|safe}}#会把value变成一个标签,放到页面上
#truncatechars
如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“...”)结尾
{{ value|truncatechars:9}} #注意:最后那三个省略号也是9个字符里面的,也就是这个9截断出来的是6个字符+3个省略号,配合前端的点击事件就可以展开这三个点
#truncatewords
在一定数量的字后截断字符串,是截多少个单词,以空格来计算字符串
例如:‘hello girl hi baby yue ma’,
{{ value|truncatewords:3}} #得到的结果是 'hello girl h1...'
#cut
移除value中所有的与给出的变量相同的字符串
{{ value|cut:' ' }}#如果value为'i love you',那么将输出'iloveyou',移除空格
#join
使用字符串连接列表,{{ list|join:', ' }},就像Python的str.join(list)
<h1>{{ l1|join:'+' }}</h1>
#timesince(了解)
计算时间差
{{ blog_date|timesince:comment_date }}#comment_date减去blog_date的时间的时间差
#timeuntil(了解)
和timesince一样,不过时间可以指定
{{ conference_date|timeuntil:from_date }}#conference_date减去from_date的时间差
本文来自博客园,作者:super_ip,转载请注明原文链接:https://www.cnblogs.com/superip/p/17331498.html