1.add

此过滤器将首先尝试将两个值强制为整数。如果失败,它会尝试将值一起添加。这将工作在一些数据类型(字符串,列表等)和失败在其他人。如果失败,结果将是一个空字符串。

{{ value | add:"" }}  # 如果value等于1,展示效果为2

{{ val1 | add:val2 }}  # 如果val1为[1,2],val2为[3,4],展示效果为[1,2,3,4]

2.center

将值置于给定宽度的字段中。

{{ value | center:"" }}  # 如果value为hello,展示效果为" hello "

3.cut

从给定字符串中删除arg的所有值。

{{ value | cut:"a" }}  # 如果value为"haha lala",展示效果为"hh ll"

4.date

根据给定的格式设置日期

{{ value | date:"Y-m-d H:i:s" }}  # 如果value为时间对象,展示效果为把时间对象格式化为2019-01-17 10:04:25

日期可用格式字符串介绍:

格式字符

描述

示例输出

a

'a.m.' 或 'p.m.' (请注意,这与PHP输出略有不同,因为这包括与Associated Press样式匹配的句点。)

'a.m.'

A

'AM' 或 'PM'。

'AM'

b

月,文字,3个字母,小写。

'jan'

B

未实现。

 

c

ISO 8601格式。 (注意:与其他格式化程序,如“Z”,“O”或“r”不同,如果值是一个天真的datetime(见 datetime.tzinfo),“c”格式化程序不会添加时区偏移。

2008-01-02T10:30:00.000123+02:00 或 2008-01-02T10:30:00.000123 (如果datetime是天真的)

d

月的日期,带前导零的2位数字。

'01' 到 '31'

D

星期几,文字,3个字母。

'Fri'

e

时区名称。可以是任何格式,或可能返回一个空字符串,具体取决于datetime。

'','GMT','-500','US/Eastern' 等。

E

月,特定于语言环境的替代表示,通常用于长日期表示。

'listopada' (对于波兰语区域,而不是 'Listopad')

f

时间,12小时小时和分钟,如果他们为零,分钟将关闭。专有扩展。

'1','1:30'

F

月,文字,长。

'January'

g

小时,12小时格式,不含前导零。

'1' 到 '12'

G

小时,24小时格式,无前导零。

'0' 到 '23'

h

小时,12小时格式。

'01' 到 '12'

H

小时,24小时格式。

'00' 到 '23'

i

分钟。

'00' 到 '59'

I

夏令时,无论是否生效。

'1' 或 '0'

j

没有前导零的月份日。

'1' 到 '31'

l

星期几,文字,长。

'Friday'

L

是否为闰年的布尔值。

True 或 False

m

月,2位数字,前导零。

'01' 到 '12'

M

月,文字,3个字母。

'Jan'

n

没有前导零的月。

'1' 到 '12'

N

月缩写在Associated Press风格。专有扩展。

'Jan.','Feb.','March','May'

o

ISO-8601周编号年,对应于使用闰年的ISO-8601周编号(W)。更常见的年份格式见Y。

'1999'

O

与格林威治时间的差值(以小时为单位)。

'+0200'

P

时间,12小时制,分钟和’a.m。’/’p.m。’,如果它们为零,分钟将关闭,如果合适,分钟将保留特殊字符串’午夜’和’中午’。专有扩展。

'1 a.m.','1:30 p.m.','midnight','noon','12:30 p.m.'

r

RFC 5322 格式的日期。

'Thu, 21 Dec 2000 16:01:07 +0200'

s

秒,带前导零的2位数。

'00' 到 '59'

S

每月日期的英文序数后缀,2个字符。

'st','nd','rd' 或 'th'

t

指定月份的天数。

28 到 31

T

本机的时区。

'EST','MDT'

u

微秒。

000000 到 999999

U

自Unix时代以来的秒数(1970年1月1日00:00:00 UTC)。

 

w

星期几,没有前导零的数字。

'0' (星期日)至 '6' (星期六)

W

ISO-8601年的周数,周从星期一开始。

1,53

y

年,2位数。

'99'

Y

年,4位数。

'1999'

z

一年中的一天。

0 到 365

Z

时区偏移(以秒为单位)。 UTC之前的时区的偏移总是负的,并且对于UTC的东部的偏移总是正的。

-43200 到 43200

5.default

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

{{ value | defult:"Nothing at all" }}  # 如果value是""(空字符串),展示后面的默认值"Nothing at all",否则展示value的值

6.default_if_none

如果(且只有)值是 None,使用给定的默认值。否则,使用该值。

注意,如果给出一个空字符串,默认值将使用 not。如果要回退空字符串,请使用 default过滤器

{{ value | default_if_none:"nothing" }}  # 如果 value 是 None,则展示字符串 "nothing",否则展示value的值

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

dictsort还可以通过指定索引处的元素来排序列表(或任何其他实现 __getitem__() 的对象)的列表。

{{ value | dictsort:0 }}  # 这里0作为索引必须是整数不是字符串

# 如果 value 是:
[
('a', ''),
('c', 'string'),
('b', 'foo'),
]
# 那么输出将是:
[
('a', ''),
('b', 'foo'),
('c', 'string'),
]

8.dictsortreversed

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

9.fileseizeformat

将该值格式化为“人类可读”文件大小(即 '13 KB','4.1 MB','102 bytes' 等)。

{{ value | filesizeformat }}  # 如果 value 是123456789,则展示的是 117.7 MB

文件大小和SI单位

严格地说,filesizeformat 不符合国际单位制度,其建议使用KiB,MiB,GiB等,当字节大小以1024的幂(这是这里的情况)计算时。相反,Django使用对应于更常用名称的传统单位名称(KB,MB,GB等)。

10.floatformat

当不带参数时,将一个浮点数舍入到小数点后一位,但前提是要显示一个小数部分。例如:

value

模板

输出

34.23234

{{ value|floatformat }}

34.2

34.00000

{{ value|floatformat }}

34

34.26000

{{ value|floatformat }}

34.3

如果与数字整数参数一起使用,则 floatformat 将数字四舍五入到该小数位数。例如:

value

模板

输出

34.23234

{{ value|floatformat:3 }}

34.232

34.00000

{{ value|floatformat:3 }}

34.000

34.26000

{{ value|floatformat:3 }}

34.260

特别有用的是传递0(零)作为参数,它将使float浮动到最接近的整数。

value

模板

输出

34.23234

{{ value|floatformat:"0" }}

34

34.00000

{{ value|floatformat:"0" }}

34

39.56000

{{ value|floatformat:"0" }}

40

如果传递给 floatformat 的参数为负,则它将一个数字四舍五入到这个小数位,但前提是要显示一个小数部分。例如:

value

模板

输出

34.23234

{{ value|floatformat:"-3" }}

34.232

34.00000

{{ value|floatformat:"-3" }}

34

34.26000

{{ value|floatformat:"-3" }}

34.260

使用没有参数的 floatformat 等同于使用具有 -1 参数的 floatformat。

11.join

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

{{ value | join:" // " }}  # 如果 value 是列表 ['a', 'b', 'c'],则展示的是字符串 "a // b // c"

12.length

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

{{ value | length }}  # 如果 value 是 ['a', 'b', 'c', 'd'] 或 "abcd",展示的是4,过滤器为未定义的变量返回 0

13.lower

将字符串转换为全部小写

{{ value | lower }}  # 如果value是"Hello"则展示的是"hello"

14.upper

将字符串转换为全大写

{{ value | upper }}  # 如果 value 是"hello",展示的是"HELLO"

15.make_list

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

{{ value | make_list }}  # 如果value是字符串"la",展示的就是列表["l", "a"],如果value是数12,展示的就是列表[1, 2]

16.random

返回给定列表中的随机项

{{ value|random }}  # 如果value的值为[1, 2 , 3],展示的可能就是2,列表随机取

17.truncatechars

如果长度大于指定的字符数,则截断字符串。截断的字符串将以可翻译的省略号序列(“...”)结束

{{ value | truncatechars:2 }}  # 如果value是"hello",那么展示的就是"he..."

18.truncatewords

在一定数量的字后截断字符串

{{ value | truncatewords:2 }}  # 如果value的值是"gmx is pig",展示的就是"gmx is ..."

19.wordcount

返回字数

{{ value | wordcount }}  # 如果value是"gmx is pig",展示的就是3

详情参考链接https://docs.djangoproject.com/en/1.7/ref/templates/builtins/

Django常用内置过滤器的更多相关文章

  1. angular中常用内置过滤器

    <!DOCTYPE html> <html lang="en" ng-app="app"> <head> <meta ...

  2. Django内置过滤器详解附代码附效果图--附全部内置过滤器帮助文档

    前言 基本环境 Django版本:1.11.8 Python版本:3.6 OS: win10 x64 本文摘要 提供了常用的Django内置过滤器的详细介绍,包括过滤器的功能.语法.代码和效果示例. ...

  3. Asp.Net Core MVC框架内置过滤器

    第一部分.MVC框架内置过滤器 下图展示了Asp.Net Core MVC框架默认实现的过滤器的执行顺序: Authorization Filters:身份验证过滤器,处在整个过滤器通道的最顶层.对应 ...

  4. MYSQL常用内置函数详解说明

    函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...

  5. request.setCharacterEncoding 和常用内置对象 跳转

    1.直接转码 new String(name.getBytes("ISO8859_1"),"GBK") 2. request.setCharactorEncod ...

  6. apache shiro内置过滤器 标签 注解

    内置过滤器 anon(匿名)  org.apache.shiro.web.filter.authc.AnonymousFilter authc(身份验证)       org.apache.shiro ...

  7. JavaScript常用内置对象(window、document、form对象)

    由于刚开始学习B/S编程,下面对各种脚本语言有一个宏观的简单认识. 脚本语言(JavaScript,Vbscript,JScript等)介于HTML和C,C++,Java,C#等编程语言之间.它的优势 ...

  8. ASP.NET常用内置对象

    ASP.NET 常用内置对象:Response对象.Request对象.Session对象.Server对象.Application对象 1.Response对象: (1) 用于向浏览器输出信息 常用 ...

  9. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

随机推荐

  1. UVA 580 Critical Mass

    https://vjudge.net/problem/UVA-580 题意:一堆U和L,用n个排成一排,问至少有3个U放在一起的方案数 f[i] 表示 至少有3个U放在一起的方案数 g[i] 表示没有 ...

  2. 【bzoj1774-过路费】floyd+排序

    题意:n个点,m条双向边,每个点有权值c[i],每条边有权值a[i].d,一条路径的费用=每条边的权值和+各个点的权值的最大值,即sigma(a[i].d)+max(c[i]).q个询问,问x到y的最 ...

  3. 【BZOJ】1588: [HNOI2002]营业额统计

    [算法]平衡树(treap)||双向链表 [题解]treap知识见数据结构. #include<cstdio> #include<algorithm> #include< ...

  4. 关于RecylerView:1.在ScrollView的RecylerView滑动事件的处理。2.item之间的距离 小数取整

    1.在ScrollView的RecylerView滑动事件的处理. 在布局文件中在RecylerView外包裹一层相对布局 2.RecylerView item之间的距离 (1)编写SpaceItem ...

  5. AlertDialog.Builder 显示为白色 蓝色字

    AlertDialog.Builder dialog = new AlertDialog.Builder( getActivity(),AlertDialog.THEME_HOLO_LIGHT);

  6. python自动开发之第二十二天

    知识点概要 - Session - CSRF - Model操作 - Form验证(ModelForm) - 中间件 - 缓存 - 信号 一. Session 基于Cookie做用户验证时:敏感信息不 ...

  7. Django-【template】自定义过滤器和自定义标签

      模板语言内置的过滤器和标签比较少,往往会遇到无法满足需求的情况,所以需要我们来自定义.自定义filter和simple_tag在项目中很常用   a.首先检查settings下面INSTALLED ...

  8. 原始套接字&&数据链路层访问

    1. 原始套接字能力: (1) 进程可以读写ICMP,IGMP等分组,如ping程序: (2) 进程可以读写内核不处理协议字段的ipv4数据报:如OSPF等: (3) 进程可以使用IP_HDRINCL ...

  9. Yii 1.1.17 六、开启路由与使用缓存

    一.开启路由 1.在配置文件main.php的components中 定义如下: // 定义路由 'urlManager'=>array( // URL模式为PATHINFO 'urlForma ...

  10. 【bzoj4765】普通计算姬

    一道奇奇怪怪的数据结构题? 把树线性化,然后分块维护吧. 为了加速,求和用树状数组维护每个块的值. #include<bits/stdc++.h> #define N 100010 #de ...