博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django模版中的过滤器详细解析 Django filter大全
阅读量:6607 次
发布时间:2019-06-24

本文共 1638 字,大约阅读时间需要 5 分钟。

就象本章前面提到的一样,模板过滤器是在变量被显示前修改它的值的一个简单方法。 过滤器看起来是这样的:

{
{ name|lower }}

显示的内容是变量 {

{ name }} 被过滤器 lower 处理后的结果,它功能是转换文本为小写。 使用 | 来应用过滤器。

过滤器可以被 串联 ,就是说一个过滤器的输出可以被输入到下一个过滤器。这里有一个常用的 需求,先转义文本到HTML,再转换每行到 <p> 标签:

{
{ my_text|escape|linebreaks }}

有些过滤器有参数。过滤器参数看起来是这样的:

{
{ bio|truncatewords:"30" }}

这个将显示变量 bio 的前30个词。过滤器参数总是使用双引号标识。

下面是一些最重要的过滤器;附录F有完整的过滤器列表。

addslashes : 添加反斜杠到任何反斜杠、单引号或者双引号前面。 这在处理包含JavaScript的文本时是非常有用的。

date : 按指定的格式字符串参数格式化 date 或者 datetime 对象, 范例:

{
{ pub_date|date:"F j, Y" }}

格式参数的定义在附录F中。

escape : 转义 &符号,引号,<,> 符号。 这在确保用户提交的数据是有效的XML或XHTML时是非常有用的。 具体上, escape 做下面这些转换:

*  转换 & 到 &amp;

*   转换 < 到 &lt;
*   转换 > 到 &gt;
 *  转换 " (双引号) 到 &quot;
*   转换 ' (单引号) 到 &#39;

length : 返回变量的长度。你可以对列表或者字符串,或者任何知道怎么测定长度的Python 对象使用这个方法(也就是说,有 __len__() 方法的对象)。

 

(1)Add:给value加上一个数值,比如{

{123@add:"5"}}返回128.

(2)addslahes:单引号加上转义字符。

(3)capfirst:第一个字符大写,比如{

{"good"|capfirst}} 返回Good。

(4)center:输出指定长度的字符串,把变量居中,比如{

{"abcd"|center:"50"}}

(5)cut:删除指定字符串。比如{

{"You are not a Englishman"|cut:"not"}}.

(6)date:格式化日期

(7)default:如果值不存在,则使用默认值代替,比如{

{value|default:"(N/A)"}}。

(8)default_if_none:如果值为None,则使用默认值代替,使用方式与default类似。

(9)dictsort:按某字段排序,变量必须是一个dictionary。

{%for moment in moments|dictsort:"id"%}    *{
{moment.headline}}{
{}%endfor%}

如上代码指定moments用id字段排序后逐个进行headline输出。

(10)dictsortreversed:按某字段倒叙排序。变量必须是一个dictionary。

(11)divisibleby: 判断是否可以被某数字整除。

(12)escape:按HTML转意,比如将"<"转换为"&lt",将">"转换为"&gt",

(13)filesizeformat:增加数字的可读性,转换结果为13KB,89MB,3Bytes。

(14)First:返回列表的第一个元素,变量必须是列表,比如{

{['Eenlish','Chinese',Japanses]|first}}

(15)

(16)

(17)

(18)

(19)

(20)

(21)

(22)

(23)

(24)

(25)

(26)

(27)

(28)

(29)

(30)

(31)

(32)

 

转载地址:http://jciso.baihongyu.com/

你可能感兴趣的文章
MyEclipse(Eclipse)快捷键大全
查看>>
Vue.js(一)了解Vue
查看>>
** 不在 sudoers 文件中。此事将被报告。
查看>>
Python range() 函数
查看>>
react-踩坑记录——swiper报错!
查看>>
node 和npm 版本更新
查看>>
无Paper不论文
查看>>
004 ps基础裁剪照片,制作大头贴
查看>>
gtid环境下mysqldump对于set-gtid-purged的取值
查看>>
最好吃的水果是猕猴桃
查看>>
Kerberos和NTLM - SQL Server
查看>>
错误信息输出,重定向到文件
查看>>
修改Oracle Client的字符集
查看>>
django中的权限控制(form增删改)
查看>>
STL学习笔记--非变易算法
查看>>
mysql设置字符集CHARACTER SET
查看>>
redis 系列15 数据对象的(类型检查,内存回收,对象共享)和数据库切换
查看>>
log框架集成
查看>>
python命令行下安装redis客户端
查看>>
如何在Oracle中复制表结构和表数据
查看>>