zoukankan      html  css  js  c++  java
  • Django模版中的过滤器详细解析 Django filter大全

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

    {{ 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)

  • 相关阅读:
    webstrom 内存溢出,软件崩溃卡死解决的方法
    JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
    JAVA 基础 /第七课: 面向对象 / JAVA类的属性,类变量与实例变量
    JAVA 基础 /第六课: 面向对象 / JAVA中的类和对象
    JAVA 基础 /第五课:ECLIPSE常见的使用技巧以及部分快捷键
    JAVA 基础 / 第四课:在ECLIPSE中运行第一个 JAVA 程序以及找不到类的问题
    JAVA 基础 /第三课:下载 ECLIPSE并使用ECIPSE创建第一个 JAVA PROJECT
    JAVA 基础 / 第二课:用命令行中编写第一个 JAVA 程序
    JAVA 基础 / 第一课:手把手教你做JDK环境变量配置
    Java swing中的keyListener使用事例
  • 原文地址:https://www.cnblogs.com/xuchunlin/p/6305710.html
Copyright © 2011-2022 走看看