django模板(过滤器)
-------------------django内建的过滤器-------------------
1、add
使用形式为:{{ value | add: "2"}}
意义:将value的值增加2
2、addslashes
使用形式为:{{ value | addslashes }}
意义:在value中的引号前增加反斜线
3、capfirst
使用形式为:{{ value | capfirst }}
意义:value的第一个字符转化成大写形式
4、cut
使用形式为:{{ value | cut:arg}}, 例如,如果value是“String with spaces” arg是" "那么输出是"Stringwithspaces"
意义:从给定value中删除所有arg的值
5、date
使用形式为::
(a) {{ value | date:"D d M Y" }},例如,如果value是一个datetime对象(datetime.datetime.now())那么输出将是字符串"Wed 09 Jan 2008"
(b) {{ value | date }},这种形式没有格式化字符串,这时候,格式化字符串会自动采用DATE_FORMAT所设置的形式。
意义:将日期格式数据按照给定的格式输出
6、default
使用形式:{{ value | default: "nothing" }},例如,如果value是“”,那么输出将是nothing
意义:如果value的意义是False,那么输出使用缺省值
7、default_if_none
使用形式:{{ value | default_if_none:"nothing" }},例如,如果value是None,那么输出将是nothing
意义:如果value是None,那么输出将使用缺省值
8、dictsort
意义:如果value的值是一个字典,那么返回值是按照关键字排序的结果
使用形式:{{ value | dictsort:"name"}},例如,
如果value是:
[
{'name': 'zed', 'age': 19},
{'name': 'amy', 'age': 22},
{'name': 'joe', 'age': 31}, ]
那么,输出是:
[
{'name': 'amy', 'age': 22},
{'name': 'joe', 'age': 31},
{'name': 'zed', 'age': 19}, ]
9、dictsortreversed
意义:如果value的值是一个字典,那么返回值是按照关键字排序的结果的反序
使用形式:与上述(8)完全相同。
10、divisibleby
使用形式:{{ value | divisibleby:arg}},如果value是21,arg是3,那么输出将是True
意义:如果value能够被arg整除,那么返回值将是True
11、escape
使用形式:{{ value | escape}}
意义:替换value中的某些字符,以适应HTML格式,包括:
< is converted to <
> is converted to >
' (single quote) is converted to '
" (double quote) is converted to "
& is converted to &
注:escape仅仅在输出的时候才起作用,所以escape不能够用在链式过滤器的中间,
他应该总是最后一个过滤器,如果想在链式过滤器的中间使用,那么可以使用force_escape
12、escapejs
使用形式:{{ value | escapejs }}
意义:替换value中的某些字符,以适应JAVASCRIPT和JSON格式。
13、filesizeformat
使用形式:{{ value | filesizeformat }}
意义:格式化value,使其成为易读的文件大小,例如:13KB,4.1MB等。
14、first
使用形式:{{ value | first }}
意义:返回列表中的第一个Item,例如,如果value是列表['a','b','c'],那么输出将是'a'。
15、floatformat
使用形式:{{ value | floatformat}}或者{{value|floatformat:arg}}, arg可以是正数也可以是负数。没有参数的floatformat相当于floatformat:-1
1、如果不带arg,那么引擎会四舍五入,同时最多只保留一位小数。
34.23234{{ value|floatformat }}34.234.00000{{ value|floatformat }}3434.26000{{ value|floatformat }}34.3
2、如果arg是正数,那么引擎会四舍五入,同时保留arg位的小数。
34.23234{{ value|floatformat:3 }}34.23234.00000{{ value|floatformat:3 }}34.00034.26000{{ value|floatformat:3 }}34.260
3、如果arg是负数,那么引擎会四舍五入,如果有小数部分,那么保留arg位小数;否则,则没有任何小数部分。
34.23234{{ value|floatformat:"-3" }}34.23234.00000{{ value|floatformat:"-3" }}3434.26000{{ value|floatformat:"-3" }}34.26(16)get_digit
使用形式:{{ value | get_digit:"arg"}},例如,如果value是123456789,arg是2,那么输出是8
意义:给定一个数字,返回,请求的数字,记住:1代表最右边的数字,如果value不是合法输入,那么会返回所有原有值。
16、iriencode
使用形式:{{value | iriencode}}
意义:如果value中有非ASCII字符,那么将其进行抓化成URL中适合的编码,如果value已经进行过URLENCODE,
改操作就不会再起作用。
17、join
使用形式:{{ value | join:"arg"}},如果value是['a','b','c'],arg是'//'那么输出是a//b//c
意义:使用指定的字符串连接一个list,作用如同python的str.join(list)
18、last
使用形式:{{ value | last }}
意义:返回列表中的最后一个Item
19、length
使用形式:{{ value | length }}
意义:返回value的长度。
20、length_is
使用形式:{{ value | length_is:"arg"}}
意义:返回True,如果value的长度等于arg的时候,例如:如果value是['a','b','c'],arg是3,那么返回True
21、linebreaks
使用形式:{{value|linebreaks}}
意义:value中的"\n"将被<br/>替代,并且整个value使用</p>包围起来,从而适和HTML的格式
22、linebreaksbr
使用形式:{{value |linebreaksbr}}
意义:value中的"\n"将被<br/>替代
23、linenumbers
使用形式:{{value | linenumbers}}
意义:显示的文本,带有行数。
24、ljust
使用形式:{{value | ljust}}
意义:在一个给定宽度的字段中,左对齐显示value
25、center
使用形式:{{value | center}}
意义:在一个给定宽度的字段中,中心对齐显示value
26、rjust
使用形式:{{value | rjust}}
意义:在一个给定宽度的字段中,右对齐显示value
27、lower
使用形式:{{value | lower}}
意义:将一个字符串转换成小写形式
28、make_list
使用形式:{{value | make_list}}
意义:将value转换成一个list,对于字符串,转换成字符list;对于整数,转换成整数list
例如value是Joel,那么输出将是[u'J',u'o',u'e',u'l'];value是123,那么输出将是[1,2,3]
29、pluralize
使用形式:{{value | pluralize}},或者{{value | pluralize:"es"}},或者{{value | pluralize:"y,ies"}}
意义:如果value不是1,则返回一个复数后缀,缺省的后缀是's'
30、random
使用形式:{{value | random}}
意义:从给定的list中返回一个任意的Item
31、removetags
使用形式:{{value | removetags:"tag1 tag2 tag3..."}}
意义:删除value中tag1,tag2....的标签。例如,如果value是<b>Joel</b> <button>is</button> a <span>slug</span>
tags是"b span",那么输出将是:Joel <button>is</button> a slug
32、safe
使用形式:{{value | safe}}
意义:当系统设置autoescaping打开的时候,该过滤器使得输出不进行escape转换
33、safeseq
与上述safe基本相同,但有一点不同的就是:safe是针对字符串,而safeseq是针对多个字符串组成的sequence
34、slice
使用形式:{{some_list | slice:":2"}}
意义:与python语法中的slice相同,:2表示第一的第二个元素
35、slugify
使用形式:{{value | slugify}}
意义:将value转换成小写形式,同事删除所有分单词字符,并将空格变成横线
例如:如果value是Joel is a slug,那么输出将是joel-is-a-slug
36、stringformat
这个不经常用,先不说
37、striptags
使用形式:{{value | striptags}}
意义:删除value中的所有HTML标签
38、time
使用形式:{{value | time:"H:i"}}或者{{value | time}}
意义:格式化时间输出,如果time后面没有格式化参数,那么输出按照TIME_FORMAT中设置的进行。
39、title
转换一个字符串成为title格式。
40、truncatewords
使用形式:{{value | truncatewords:2}}
意义:将value切成truncatewords指定的单词数目
例如,如果value是Joel is a slug 那么输出将是:Joel is ...
41、truncatewords_html
使用形式同(39)
意义:truncation点之前如果某个标签打开了,但是没有关闭,那么在truncation点会立即关闭。
因为这个操作的效率比truncatewords低,所有只有在value是html格式时,才考虑使用。
42、upper
转换一个字符串为大写形式
43、urlencode
将一个字符串进行URLEncode
44、urlize
意义:将一个字符串中的URL转化成可点击的形式。
使用形式:{{ value | urlize }}
例如,如果value是Check out www.djangoproject.com,那么输出将是:
Check out <a href="http://www.djangoproject.com">www.djangoproject.com</a>
45、urlizetrunc
使用形式:{{ value | urlizetrunc:15}}
意义:与(43)相同,但是有一点不同就是现实的链接字符会被truncate成特定的长度,后面以...现实。
46、wordcount
返回字符串中单词的数目
47、wordwrap
使用形式:{{value | wordwrap:5}}
意义:按照指定的长度包装字符串
例如,如果value是Joel is a slug,那么输出将会是:
Joel
is a
slug
48、timesince
使用形式:{{value | timesince:arg}}
意义:返回参数arg到value的天数和小时数
例如,如果 blog_date 是一个日期实例表示 2006-06-01 午夜, 而 comment_date 是一个日期实例表示 2006-06-01 早上8点,
那么 {{ comment_date|timesince:blog_date }} 将返回 "8 hours".
49、timeuntil
使用形式:{{value | timeuntil}}
意义:与(47)基本相同,一个不同点就是,返回的是value距离当前日期的天数和小时数。
django模板(过滤器)的更多相关文章
- Django模板过滤器详解
Django 模板过滤器也是我们在以后基于 Django 网站开发过程中会经常遇到的,如显示格式的转换.判断处理等.以下是 Django 过滤器列表,希望对为大家的开发带来一些方便. 一.形式:小写 ...
- django模板---过滤器
过滤器 通过django的过滤器可以在无须编码的情况下完成一些基本工作,比如字母的大小写转换.日期转换.获取字符串的长度.过滤器要放到标签的标识符后面,中间用竖杠(|)分隔, 如下面的过滤器把name ...
- Django之模板过滤器
Django 模板过滤器也是我们在以后基于 Django 网站开发过程中会经常遇到的,如显示格式的转换.判断处理等.以下是 Django 过滤器列表,希望对为大家的开发带来一些方便. 一.形式:小写 ...
- Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)
前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 ...
- Django 自定义过滤器和模板标签
前提:自定义模板标签和过滤器必须位于Django的某个应用中,这个应用可以包含一个templatetags目录, 和models.py views.py 处于同一级目录.若这个templatetags ...
- python的Web框架,Django模板变量,过滤器和静态文件引入
HTML模板的路径查找 在setting中设置查找路径: #默认的查找在此处填写,优先级最高,为在manage.py的同级路径中,添加(常规是template)文件夹,在(template)文件夹中配 ...
- Django框架之【自定义模板过滤器与标签】
本文在我的微信公众号的链接:https://mp.weixin.qq.com/s?__biz=MzU5NTU5MjcwNw==&mid=2247483674&idx=1&sn= ...
- 12:django 模板 内建过滤器
django 模板 内建过滤器 add{{ value|add:"2" }} 对象的加法,如果都是整数类型,简单的算术加法:如果是列表,则是列表的相加 如果无法执行对象的相加,比如 ...
- django自定义过滤器及模板标签
创建一个模板库 不管是写自定义标签还是过滤器,第一件要做的事是创建模板库(Django能够导入的基本结构). 创建一个模板库分两步走: 第一,决定模板库应该放在哪个Django应用下. 如果你通过 m ...
- Django模板语言,过滤器整理
Django模板语言,过滤器整理 1. add {{ value|add:"2" }} 把add后的参数加给value: 处理时,过滤器首先会强制把两个值转换成Int类型. 如果强 ...
随机推荐
- 读Zepto源码之Deferred模块
Deferred 模块也不是必备的模块,但是 ajax 模块中,要用到 promise 风格,必需引入 Deferred 模块.Deferred 也用到了上一篇文章<读Zepto源码之Callb ...
- web项目-easyui-datagrid使用汇总
一,引言 工作的需要,做了3年的wpf--,又因为项目的需求,回归到web的开发. ■ 3 years ago,vue是我三年前没用过的玩意儿. ■ 3 years ago,bootstrap组件 ...
- 暑假集训D9总结
考试 几乎绝望的考试= =,感觉自己啥都打不出来= =,就一道DP打了个贪心,剩下两道骗分,然而竟然排到前一半= =,不可思议= = 真是令人窒息的操作啊= = T1 [bzoj1592] Maki ...
- Warning[w2]: Symbol ?P…
屏蔽的方法: 一.找到$PROJ_DIR$\..\..\..\Tools\CC2530DB\f8w2530.xcl位置 二.找到f8w2530.xcl 三.打开f8w2530.xcl,注释D?PBAN ...
- MQ选型对比文档
几种MQ产品说明: ZeroMQ : 扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装,如果我们做为消息队列使用,需要开发大量的代码 RabbitMQ ...
- mybatis 详解(十一)------ mybatis和spring整合
想要整合mybatis和spring,那么我们首先要知道这两个框架是干嘛的,对于mybatis我们前面几篇博客已经有了很详细的介绍,我们通过加载mybatis-configuration.xml 文件 ...
- Coursera scala课程第一周答案
Exercise 1: Pascal's Triangle The following pattern of numbers is called Pascal's triangle. 1 1 1 1 ...
- Webservice 中涉及的几个概念
开发webservice有一段时间了.但是对其中的协议及实现一直存在疑惑.这里搜集相关概念.用以更好的理解它. 一.什么是Webservice WebService是一种跨编程语言和跨操作系统平台的远 ...
- Java入门——(2)面对对象(上)
关键词:面对对象.类..构造方法.this.static.内部类 一.面对对象的概念:把解决的问题安装一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.其特点可概括为封装性.继承 ...
- Vue过渡效果之CSS过渡
前面的话 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.本文将从CSS过渡transition.CSS动画animation及配合使用第三方CSS动画库(如animate. ...