12:django 模板 内建过滤器
django 模板 内建过滤器
add{{ value|add:"2" }}
对象的加法,如果都是整数类型,简单的算术加法;如果是列表,则是列表的相加
如果无法执行对象的相加,比如整数和字符串,则返回一个空串
addslashes{{value | addslashes}}
在引号前面添加斜线,主要应用与字符转义
capfirst{{value| capfirst}}
首字符大写
center{{value|center:"15"}}
在给定的宽度里面居中
cut{{value|cut:" "}}
删除value里面所有给定的字符,这里是空格
date
根据给定的格式格式化日期
格 式字符 | 描述 | 示例输出 |
---|---|---|
a | 'a.m.' or 'p.m.' | 'a.m.' |
A | 'AM' or 'PM'. | 'AM' |
b | 3位小写字符表示的月份缩写 | 'jan' |
d | 每个月中的某一天,两位数字(前缀0) | '01' to '31' |
D | 3位字符表示的星期几 | 'Fri' |
e | 时区 | '', 'GMT', '-500', 'US/Eastern', etc. |
f | 12小时制的时间,分为零被省略 | '1', '1:30' |
F | 月份英文全程 | 'January' |
g | 小时,没有前缀0的12小时制表示 | '1' to '12' |
G | 小时,没有前缀0的24小时制表示 | '0' to '23' |
h | 小时,有前缀0的12小时制表示 | '01' to '12' |
H | 小时,有前缀0的24小时制表示 | '00' to '23' |
i | 分钟 | '00' to '59' |
j | 每个月中的某一天,数字(没有前缀0) | '1' to '31' |
l | 星期几的全称 | 'Friday' |
L | 是否是闰年 | True or False |
m | 月份,有前缀0 | '01' to '12' |
M | 月份,3位字符,首字符大写 | 'Jan' |
n | 月份,没有前缀0 | '1' to '12' |
P | 时间,12小时制,分钟和上下午,分钟数为0时被省略有midnight和noon | '1 a.m.', '1:30 p.m.', 'midnight', 'noon', '12:30 p.m.' |
s | 秒,有前缀0 | '00' to '59' |
S | 月份后缀 | 'st', 'nd', 'rd' or 'th' |
t | 每个月的天数 | 28 to 31 |
T | 本机的时区 | 'EST', 'MDT' |
u | 毫秒. | 0 to 999999 |
w | 0-6表示一周的第几天 | '0' (Sunday) to '6' (Saturday) |
W | 一年中的第几个星期 | 1, 53 |
y | 年份,两位 | '99' |
Y | 年份,4位 | '1999' |
z | 一年中的第几天 | 0 to 365 |
default{{value|defualt:"nothing"}}
如果value为False,使用default的值
default_if_none{{value|default_if_none:"nothing"}}
如果value为None,使用default的值
dictsort{{value|dictsort:"name"}}
返回使用给出的关键字(实例中的name)对value(要求是字典)进行排序的结果
dictsortreversed
类似dictsort,返回逆序排序的结果
divisibleby{{value|divisiblely:"3"}}
是否能整除,如果是,返回True,否则返回False
escape
转义一个字符串的HTML
注意的是,这个过滤器仅当value输出时转义,所以,当有过滤器串联的时候,escape总像是最后一个过滤器,如果你想要立刻转义的话,请使用force_escape
escapejs{{value|escapejs}}
转义字符成为javascript使用的字符,如:"testing\r\njavascript \'string" <b>escaping</b>", 会被转义成"testing\\u000D\\u000Ajavascript \\u0027string\\u0022 \\u003Cb\\u003Eescaping\\u003C/b\\u003E".
filesizeformat{{ value|filesizeformat }}
格式化一个数值成为人类可读的文件大小,如果value 是 123456789, 将输出 117.7 MB.
first{{ value|first }}
返回列表的第一个元素
fix_ampersands
ampersands是&符号的英文,该过滤器的作用是:用&代表&
floatformat
不使用参数书,默认输出最多一位有效小数点
34.23234 | {{ value|floatformat }} | 34.2 |
34.00000 | {{ value|floatformat }} | 34 |
34.26000 | {{ value|floatformat }} | 34.3 |
使用正数参数
34.23234 | {{ value|floatformat:3 }} | 34.232 |
34.00000 | {{ value|floatformat:3 }} | 34.000 |
34.26000 | {{ value|floatformat:3 }} | 34.260 |
使用负整数参数
34.23234 | {{ value|floatformat:"-3" }} | 34.232 |
34.00000 | {{ value|floatformat:"-3" }} | 34 |
34.26000 | {{ value|floatformat:"-3" }} | 34.260 |
force_escape
强制转义
get_digit{{ value|get_digit:"2" }}
返回一个整数给定位置的数字,从右往左算
{{ value|get_digit:"2" }},如果value是123456,则返回5
iriencode{{ value|iriencode }}
iri:internationalized resource identifier(国际化资源标识符),iri 编码,把一个iri转成一个可以包含在url中的字符串,例如:如果value是?test=1&me=2,那么输出是?test=1&me=2
join{{ value|join:arg }}
用给定的参数字符拼连一个列表,类似于python的str.join(list)
last{{ value|last }}
返回列表的最后一个元素
length
返回给定值的长度,适用于字符串和列表
length_is{{ value|length_is:"4" }}
如果给定值的长度和length_is的参数一样,返回True,否则返回False
linebreaks{{ value|linebreaks }}
用合适的html替换文本中的换行,例如:Joel\nis a slug会被转<p>Joel<br />is a slug</p>
linebreakbr{{ value|linebreaksbr }}
把文本中所有的换行替换成<br />
linenumbers
显示文本行号
ljust
在给定的宽度里面左对齐
lower
全部转换成小写
make_list
返回被转换成列表的值
pnone2numeric{{ value|phone2numeric }}
把一个电话号码(可能包含字符)转换成对应的数字(字符随便转换),如:800-COLLECT转换成800-2655328
pluralize
返回除了值为1外的该值的复数形式,默认在后面加's'。如果不是's',或者其他请指定
没有参数是,复数形式加s,有1个参数时,加参数,有两个参数时,分别为单数和复数形式
You have {{ num_cherries }} cherr{{ num_cherries|pluralize:"y,ies" }}.
pprint
一个在pprint.pprint()周围的包装,仅用于debuging
random
返回列表中的随机一项
removetags
从给定的用空格隔开的(X)HTML标签列表删除参数里的标签,例如:{{ value|removetags:"b span" }},如果value是"<b>Joel</b> <button>is</button> a <span>slug</span>,那么输出Joel <button>is</button> a slug,注意这个过滤器是大小写敏感的
rjust
在给定的宽度里面右对齐
safe
标记说该字符串输出的时候不需要自动转义,注意的是,safe后边再接一个escape过滤器时还是会转义的,当safe过滤器在autoescape off里面是也是不起作用的
safeseq
对列表中的每一项使用safe过滤器,例如:{{ some_list|safeseq|join:", " }}
slice
返回一个列表的切片,参数格式和python的列表切片类似
slugify{{ value|slugify }}
转换成小写后,删除所有的非单词字符,最后把空格替换成横线
例如:Joel is a slug会输出joel-is-a-slug
stringformat{{ value|stringformat:"s" }}
字符串格式化,类似于python的字符串格式化(但是没有前导%)
striptags
去掉一切可以去掉的(X)HTML标签,注意的是,striptags并不保证输出的内容安全
time
根据给定的格式格式化时间,参数参考date过滤器
注意,只能接受有关于天的格式,而不是日期 的格式,如果你要格式化日期,请使用date过滤器
timesince{{ blog_date|timesince:comment_date }}
格式化一个日期到给定日期的时间,例如4天,6小时等等,没有参数时默认参数是now,例如:{{ blog_date|timesince:comment_date }},如果blog_date是2006年6月1日的午夜,comment_date是2006年6月1日早上8点,那么这个例子返回的是8小时
分钟是最小的单位,可以返回0分钟这样的结果
timeuntil {{ conference_date|timeuntil:from_date }}
类似timesince,加入from_date是2006年6月22,conference_date是2006年6月29,那么这个例子将返回1个星期
title{ value|title }}
把一个字符串转换成首字母大写,my first post被转为"My First Post
truncatechars
截短字符,例如{{ value|truncatechars:9 }},多于9的字符串会被截短,Joel is a slug会被截短为Joel i...
truncatewords
截短单词,例如{{ value|truncatewords:2 }},第二个单词之后的单词会被截掉,Joel is a slug会变成Joel is ...
truncatewords_html
计算次数是,忽略html标签,比truncatewords更低效率,只应该被用于传递的html
{{ value|truncatewords_html:2 }},<p>Joel is a slug</p>输出为<p>Joel is ...</p>
unordered_list
递归的使用一个自嵌套的列表然后返回一个HTML unordered list(ul),例如,var=['States', ['Kansas', ['Lawrence', 'Topeka'], 'Illinois']],那么{{var|unordered_list}}返回的是:
<li>States
<ul>
<li>Kansas
<ul>
<li>Lawrence</li>
<li>Topeka</li>
</ul>
</li>
<li>Illinois</li>
</ul>
</li>
upper
返回大写形式
urlencode{{ value|urlencode }}
转义一个能在url中使用的值,例如,http://www.example.org/foo?a=b&c=d被转成http%3A//www.example.org/foo%3Fa%3Db%26c%3Dd
可以接受参数:参数中表明那些字符不需要转义,如果不提供,/默认不转义,如果提供一个空字符串(不同于包含空格的字符串),所有字符需要被转移
urlize{{ value|urlize }}
转换文本中的url成为可点击的链接,例如:Check out www.djangoproject.com输出为Check out <a href="http://www.djangoproject.com" rel="nofollow">www.djangoproject.com</a>
注意的是,如果文本中包含html,事情可能会有点例外,自己注意
urlizetrunc
先urlize文本,在truncatechars被urlize的文本,例如{{ value|urlizetrunc:15 }},如果value是:Check out www.djangoproject.com,那么输出是:Check out <a href="http://www.djangoproject.com" rel="nofollow">www.djangopr...</a>
wordcount
返回单词的个数
wordwrap
在给定的宽度里面包含单词,例如:{{ value|wordwrap:5 }},如果value是Joel is a slug,那么输出类似是:
Joel
is a
slug
yesno
匹配值输出yes,no,maybe或者自定义的字符等等,{{ value|yesno:"yeah,no,maybe" }}
p
12:django 模板 内建过滤器的更多相关文章
- django 使用内建过滤器实现文章摘要效果
django 使用内建过滤器实现文章摘要效果 前端html代码 <div class="list-group"> {% if articles %} {% for ar ...
- django模板 内建标签
autoescape 控制当前自动转义的行为,有on和off两个选项 {% autoescape on %} {{ body }} {% endautoescape %} block 定义一个子模板可 ...
- 11:django 模板 内建标签
django 内建标签 autoescape 控制当前自动转义的行为,有on和off两个选项 {% autoescape on %} {{ body }} {% endautoescape %} bl ...
- Django模板语言,过滤器整理
Django模板语言,过滤器整理 1. add {{ value|add:"2" }} 把add后的参数加给value: 处理时,过滤器首先会强制把两个值转换成Int类型. 如果强 ...
- Django 模板中 变量 过滤器的使用方法
一.变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量. 2.使用dot(.)能够访问变量的属性 3.当模板引擎碰到dot的 ...
- Django 模板中 变量 过滤器 标签 的使用方法
一.变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量. 2.使用dot(.)能够访问变量的属性 3.当模板引擎碰到dot的 ...
- 测试开发之Django——No7.Django模板中的过滤器
1.add 将参数添加到值. 例如: {{ value|add:"2" }} 如果value是4,那么输出将是6. 此过滤器将首先尝试将两个值强制转换为整数.如果失败,它将尝试将值 ...
- Django 模板 语法 变量 过滤器 模板继承 组件 自定义标签和过滤器 静态文件相关
本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法 模板渲染的官方文档 关于模板渲染你只需要记两种特殊符号(语法 ...
- python的Web框架,Django模板变量,过滤器和静态文件引入
HTML模板的路径查找 在setting中设置查找路径: #默认的查找在此处填写,优先级最高,为在manage.py的同级路径中,添加(常规是template)文件夹,在(template)文件夹中配 ...
随机推荐
- POJ1389:Area of Simple Polygons——扫描线线段树题解+全套代码注释
http://poj.org/problem?id=1389 题面描述在二维xy平面中有N,1 <= N <= 1,000个矩形.矩形的四边是水平或垂直线段.矩形由左下角和右上角的点定义. ...
- 2017-7-19-每日博客-关于Linux下的CentOS中文件夹基本操作命令.doc
CentOS中文件夹基本操作命令 文件(夹)查看类命令 ls--显示指定目录下内容 说明:ls 显示结果以不同的颜色来区分文件类别.蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件 ...
- swift的UIbutton
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, ...
- Python爬虫学习笔记之模拟登陆并爬去GitHub
(1)环境准备: 请确保已经安装了requests和lxml库 (2)分析登陆过程: 首先要分析登陆的过程,需要探究后台的登陆请求是怎样发送的,登陆之后又有怎样的处理过程. 如果已经 ...
- 基于http的追加协议、构建web内容的技术、web的攻击技术(9,10,11)
第九章 基于http的追加协议 用来提升http的瓶颈,比如Ajax技术,spdy等 第十章 构建web内容的技术 html.css.js等 第十一章 web的攻击技术 比如sql注入攻击.xss等.
- 51Nod 1347 旋转字符串 | 规律
Input示例 aa ab Output示例 YES NO 规律:abcabc 只需判断原始字符串 #include <bits/stdc++.h> using namespace std ...
- 数据结构:ST表
BZOJ1699 在经历了树套树和主席树的洗礼之后,所有的数据结构都显得格外地亲切,和自然.. ST算法能够实现O(nlogn)的预处理的情况下完成O(1)的区间最值查询 虽然这要求区间是静态的,也就 ...
- vijos 1313 金明的预算方案 树形DP
描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”.今天一 ...
- C11内存管理之道:智能指针
1.shared_ptr共享智能指针 std::shared_ptr使用引用计数,每个shared_ptr的拷贝都指向相同的内存,在最后一个shared_ptr析构的时候,内存才会释放. 1.1 基本 ...
- C11简洁之道:lambda表达式
1. 定义 lambda表达式是C++11非常重要也是很常用的特性之一,来源于函数式编程的概念,也是现代编程语言的一个特点.它有如下特点: 声明式编程风格:就地匿名定义目标函数或者函数,不需要额外写 ...