常用内置过滤器:

过滤器会更改量或便签参数的值:

title过滤器:

{{ django|title }}

在下列context中

{'django': 'the web framework for perfectionists with deadlines'}

django变量值都是小写,经过过滤器渲染之后就会变成:

The Web Framework For Perfectionists With Deadlines

add加

把add后的参数加给value
例如:

{{ value|add:"" }}

如果 value 为 4 ,则会输出 6 .
过滤器首先会强制把两个值转换成Int类型。如果强制转换失败, 它会试图使用各种方式吧两个值相加。它会使用一些数据类型 (字符串, 列表, 等等.) 其他类型则会失败. 如果转换失败,结果会变成一个空字符串
例如,我们使用下面的值

{{ first|add:second }}

first 是 [1, 2, 3] , second 是 [4, 5, 6] , 将会输出
[1, 2, 3, 4, 5, 6] .
警告
如果字符串可以被强制转换成int类型则会 summed,无法被转换,则和上面的第一个例子一样

addslashes

在引号前面加上斜杆。例如,用于在CSV中转义字符串。
例如:

{{ value|addslashes }}

如果 value  是  "I'm using Django"  , 输出将变成  "I\'m using Django"

capfirst

大写变量的第一个字母。如果第一个字符不是字母,该过滤器将不会生效。
例如:

{{ value|capfirst }}

如果 value 是 "django" , 输出将变成 "Django" .

center

使"value"在给定的宽度范围内居中.
例如:

"{{ value|center:"15" }}"

如果 value 是 "Django" ,输出将是 “ Django t7> 。

cut切

移除value中所有的与给出的变量相同的字符串
例如:

{{ value|cut:" " }}    {{ “You are not a Englishman” | cut:”not” }}

将输出‘’You are a Englishman“

date日期

根据给定格式对一个date变量格式化

例如:

{{ value|date:"D d M Y" }}  {{ value|date }}

如果 value 是 datetime 对象(例如, datetime.datetime.now() 的结果),输出将分别是是字符串 'Wed 09 Jan 2008', ‘Jan 09 2008’ 。

default

如果value的计算结果为 False ,则使用给定的默认值。否则,使用该value。
例如:

{{ value|default:"nothing" }}

如果 value 为 "" (空字符串),则输出将为 nothing 。

default_if_none

如果(且仅当)value为 None ,则使用给定的默认值。否则,使用该value。
注意,如果给出一个空字符串,默认值将不被使用。如果要回退空字符串,请使用 default 过滤器。
例如:

{{ value|default_if_none:"nothing" }}

如果 value 为 None ,则输出将为字符串 “nothing”

dictsort

接受一个字典列表,并返回按参数中给出的键排序后的列表。
例如:

{{ 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},
]

也可以用来做更复杂的事情:

{% for book in books|dictsort:"author.age" %}
*{{ book.title }} ({{ book.author.name }})
{% endfor %}

如果books为:

[
{'title': '', 'author': {'name': 'George', 'age': 45}},
{'title': 'Timequake', 'author': {'name': 'Kurt', 'age': 75},
{'title': 'Alice', 'author': {'name': 'Lewis', 'age': 33}},
]

输出将为:

* Alice (Lewis)
* 1984 (George)
* Timequake (Kurt

dictsortresvered

获取字典列表,并返回按照参数中给出的键按相反顺序排序的列表。这与上面的过滤器dictsort完全相同,但返回的值将是相反的顺序。

可分割
如果value可以被给出的参数整除,则返回 True
例如:

{{ value|divisibleby:"" }}

如果 value 是 21 ,则输出将为 True 。

escape

使用形式:

{{ value | escape}} 

意义:替换value中的某些字符,以适应HTML格式,包括: 
< is converted to &lt; 
> is converted to &gt; 
’ (single quote) is converted to ' 
” (double quote) is converted to &quot; 
& is converted to &amp;

escape仅仅在输出的时候才起作用,所以escape不能够用在链式过滤器的中间,

他应该总是最后一个过滤器,如果想在链式过滤器的中间使用,那么可以使用force_escape

first

返回列表中的第一项。
内建标签和过滤器
654
例如:

{{ value|first }}

如果 值 是列表 ['a', 'b', 'c'] ,输出将为 'a'

floatformat

使用形式:

{{ value|floatformat }}或者{{ value|floatformat:arg }} 

arg可以是正数也可以是负数。没有参数的floatformat相当于floatformat:-1 
(1)如果不带arg,那么引擎会四舍五入,同时最多只保留一位小数。

34.23234 {{ value|floatformat }} 34.2
34.00000 {{ value|floatformat }} 34
34.26000 {{ value|floatformat }} 34.3

(2)如果arg是正数,那么引擎会四舍五入,同时保留arg位的小数。

34.23234 {{ value|floatformat:3 }} 34.232
34.00000 {{ value|floatformat:3 }} 34.000
34.26000 {{ value|floatformat:3 }} 34.260

(3)如果arg是负数,那么引擎会四舍五入,如果有小数部分,那么保留arg位小数;否则,则没有任何小数部分。

34.23234 {{ value|floatformat:”-3” }} 34.232
34.00000 {{ value|floatformat:”-3” }} 34
34.26000 {{ value|floatformat:”-3” }} 34.26

get_digit

给定一个整数,返回所请求的数字,其中1是最右边的数字,2是第二个最右边的数
字等。返回无效输入的原始值(如果输入或参数不是整数,或参数小于1)。否
则,输出总是一个整数。
例如:

{{ value|get_digit:"" }}

如果 value 为 123456789 ,则输出将为 8 。

join

使用字符串连接列表,例如Python的 str.join(list)
例如:

{{ value|join:" // " }}

如果 value 是列表 ['a', 'b', 'c'] /,输出将是字符串 “a // b //c“ 。

last

返回列表中的最后一个项目。
例如:

{{ value|last }}

如果列表为  ['a', 'b', 'c', 'd'] , 输出为"d" .

length

返回值的长度。这适用于字符串和列表。
例如:

{{ value|length }}

如果 value 是 ['a', 'b', 'c', 'd'] 或 "abcd" ,输出将为 4 。

length_is

如果值的长度是参数,则返回 True ,否则返回 False 。
例如:

{{ value|length_is:"" }}

如果 value 是 ['a', 'b', 'c', 'd'] 或 "abcd" ,输出将为 True 。

linenumbers

显示带行号的文本。
例如:

{{ value|linenumbers }}

如果 value 为:

one
two
three

输出将是:

1\. one
2\. two
3\. three

lower

将字符串转换为全部小写。
例如:

{{ value|lower }}

如果 value 为 MAD  输出 mad  。

make_list

返回转换为列表的值。对于字符串,它是一个字符列表。对于整数,在创建列表之前将参数强制转换为unicode字符串。
例如:

{{ value|make_list }}

如果 value 是字符串 "Joel" ,输出将是列表 ['J', 'o' , 'e', 'l'] 。如果 value 是 123 ,则输出将是列表 ['1', '2', '3'] 。

phone2numeric

将电话号码(可能包含字母)转换为其等效数字。输入不必是有效的电话号码。这将很乐意转换任何字符串。
例如:

{{ value|phone2numeric }}

如果 value 为 800-COLLECT ,输出将为 800-2655328 。

random

返回给定列表中的随机项。

例如:

{{ value|random }}

如果列表是['a', 'b', 'c'],输出将是任意一个。

time

根据给定的格式格式化时间。
给定格式可以是预定义的 TIME_FORMAT ,也可以是与 date 过滤器相同的自定义格式。请注意,预定义的格式是与区域设置相关的。
例如:

{{ value|time:"H:i" }}

如果 value 等效于 datetime.datetime.now() ,则输出将为字符串 "01:23" 。
另外time过滤器只接受字符串中与时间相关的参数,而不是时间。

upper

将字符串转换为大写形式:
例如:

{{ value|upper }}

如果 value 是 “Joel ;,输出将为 “JOEL ” 。

urlencode

转义要在URL中使用的值。
例如:

{{ value|urlencode }}

If value is "http://www.example.org/foo?a=b&c=d" , the output will be"http%3A//www.example.org/foo%3Fa%3Db%26c%3Dd" .

可以提供包含不应该转义的字符的可选参数。
如果未提供,则'/'字符被假定为安全的。当所有字符应该转义时,可以提供空字符
串。例如:

{{ value|urlencode:"" }}
如果 value 为 "http://www.example.org/" ,输出将为 "http%3A%2F%2Fwww.example.org%2F" 。
												

django-templates过滤器的更多相关文章

  1. Django学习(九)---Templates过滤器及Django shell和Admin增强

    一.Templates过滤器 过滤器属于django模板语言 修改模板中的变量,从而显示不同内容 {{ value | filter }} 举例:{{ list_nums | length}}    ...

  2. django模板---过滤器

    过滤器 通过django的过滤器可以在无须编码的情况下完成一些基本工作,比如字母的大小写转换.日期转换.获取字符串的长度.过滤器要放到标签的标识符后面,中间用竖杠(|)分隔, 如下面的过滤器把name ...

  3. Django自定义过滤器中is_safe和need_autoescape两个参数的理解

    自定义template过滤器的方法参考文档,不再赘述 is_safe 文档说明过滤的两种最终形态,其中一种是设置register.filter(is_safe=True),但是对is_safe的具体作 ...

  4. Django模板过滤器详解

    Django 模板过滤器也是我们在以后基于 Django 网站开发过程中会经常遇到的,如显示格式的转换.判断处理等.以下是 Django 过滤器列表,希望对为大家的开发带来一些方便. 一.形式:小写 ...

  5. django safe 过滤器--不对字符串进行转义(转)

    unix下的binutils短小精悍,用胶水(俺经常成管道为胶水)紧密结合在一起释放巨大的能量.django的过滤器也学习了这个方式,每个版本的django都自带了一些builtin的filter,当 ...

  6. django templates模板

    Django templates模板 HTML代码可以被直接硬编码在views视图代码中,虽然这样很容易看出视图是怎么工作的,但直接将HTML硬编码到视图里却并不是一个好主意. 让我们来看一下为什么: ...

  7. Django的学习(六)————templates过滤器、Django shell、admin

    一.filter: 1.介绍: 写在模板中,属于Django的模板语言. 可以修改模板中的变量,从而显示不同的内容 2.使用: {{ value | filter }},且过滤器可以嵌套使用 < ...

  8. Python Web框架篇:Django templates(模板)

    为什么用templates? views.py视图函数是用来写Python代码的,HTML可以被直接硬编码在views.py之中.如下: import datetime def current_tim ...

  9. Django—templates系统:模版语言

    常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点(.)在模板语言中有特殊的含义, ...

  10. python的Web框架,Django自定义过滤器及标签

    代码布局 有的时候框架给的过滤器不够用,需要自定义一些过滤器,所以就需要我们自己来定义一些过滤器等 自定义代码放置的路径 某个app特用(独有)的 - app 目录下的 templatetags文件夹 ...

随机推荐

  1. underscore.js源码研究(5)

    概述 很早就想研究underscore源码了,虽然underscore.js这个库有些过时了,但是我还是想学习一下库的架构,函数式编程以及常用方法的编写这些方面的内容,又恰好没什么其它要研究的了,所以 ...

  2. C#6.0语言规范(十三) 接口

    接口定义合同.实现接口的类或结构必须遵守其合同.接口可以从多个基接口继承,并且类或结构可以实现多个接口. 接口可以包含方法,属性,事件和索引器.接口本身不为它定义的成员提供实现.接口仅指定必须由实现接 ...

  3. mybatis Mapper XML 映射文件

    传送门:mybatis官方文档 Mapper XML 文件详解 一. 数据查询语句 1. select <select id="selectPerson" parameter ...

  4. POJ 2421

    #include<iostream> #include<stdio.h> #define MAXN 500 #define inf 100000000 using namesp ...

  5. [翻译] Trident-ML:基于storm的实时在线机器学习库

    最近在看一些在线机器学习的东西,看到了trident-ml, 觉得比较有意思,就翻译了一下,方便有兴趣的读者学习. 本文为作者(掰棒子熊)翻译自https://github.com/pmerienne ...

  6. 剑指offer十八之二叉树的镜像

    一.题目 操作给定的二叉树,将其变换为源二叉树的镜像.二叉树的镜像定义:        源二叉树 : 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树: 8 / \ 10 6 / \ ...

  7. Elasticsearch使用filter进行匹配关系and,or,not,range查询

    RESTful接口URL的格式: http://localhost:9200/<index>/<type>/[<id>] 其中index.type是必须提供的. i ...

  8. mysql基础知识(1)

    一.基础 模式定义了数据如何存储.存储什么样的数据库以及数据如何分解等信息,数据库和表都有模式.关于数据库的模式可以参考这里:https://blog.csdn.net/liaohong940908/ ...

  9. 自然语言处理(英文演讲)_2-gram

    这里利用2-gram模型来提取一篇英文演讲的初略的主题句子,这里是英文演讲的的链接:http://pythonscraping.com/files/inaugurationSpeech.txt n-g ...

  10. 在 ASP.NET MVC 中使用异步控制器

    线程池 一直想把项目改写成异步,但是ASP.NETMVC3下写的过于繁琐,.NET 4.5与ASP.NET MVC下代码写起来就比较简单了, MS好像也一直喜欢这样搞,每一个成熟的东西,都要演变好几个 ...