zoukankan      html  css  js  c++  java
  • <转> django模板语言filter方法

    Django的模板是一个简单的文本文件,它可以生成任何文本格式(HTML、XML、CSV等),在本文开始之前先看一个Django模板的例子:

    从这个例子中可以看到,模板标签可以是单独出现的,如extends标签;也可以是成对出现的,如block标签和for标签。而模板的主体就是一个HTML结构的文本文件,看到这里我想如果有过ASP, PHP开发经验的人都会感到很亲切,因为它们的语法非常相似,都是嵌入到HTML中的标记语言。

    变量Variables

    变量的基本用法:{{ variable }},当模板引擎遇到变量时会将变量替换为具体值。变量名可以包含字母数字和下划线,不能包含空格及其它特殊符号。句点(.)在变量中有特殊意义,如果模板引擎遇到了句点将会按照下面的顺序对其进行解释:

    字典查找

    查找属性和方法

    查找下标元素

    注意如果句点后面的变量是一个可以调用的方法的话,那么这个方法会按照空参数的方式调用,例如一个字典的iteritems方法可以在模板中用以下方式调用:

    过滤器Filters

    你可以使用过滤器来修改变量值的显示样式。过滤器的使用方式 {{ 变量|过滤器方法}}。过滤器可以连续使用,形式如: {{ 变量|过滤器方法1|过滤器方法2}}。

    注意变量、管道符(|)和过滤器方法之间不能有空格。

    某些过滤器还可以接收参数,例如:{{ bio|truncatewords:30 }},这句代码的意思是显示bio的前30个单词。

    如果过滤器参数包含空格的话,参数就要用引号扩起来,例如:{{ list|join:", " }}。

    Django大约提供了60个过滤器,具体介绍可以在Django官网看到:

    https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#ref-templates-builtins-filters。

    下面介绍几种常用的过滤器:

    Default

    如果变量是false或者空,显示default值:例如: {{ value|default:"nothing" }},如果value是false会在页面上显示nothing。

    Length

    显示一个字符串或者数组的长度,如:{{ value|length }}

    Filesizeformat

    将文件大小按照人类可读的形式显示,例如一个文件由123456789,那么显示成117.7 MB,语法形式:{{ value|filesizeformat }}

    Add

    加法运算:{{ value|add:"2" }}

    这个方法会先按照数值来计算,如果失败了就直接将两个值拼接在一起,如连接两个数组。

    Capfirst

    首字母大写:{{ value|capfirst }}

    cut

    删除指定值,例如去掉字符串中的空格:{{ value|cut:" " }}

    如果value是"String with spaces",那么输出"Stringwithspaces".

    Date

    格式化日期,该方法参数较多也很重要,请参考Django官网。

    Dictsort

    将一个字典按照某一字典项进行排序后返回,

    例如,有一个字典users如下,包含三个人员信息:

    按照人名进行排序:

    显示样式:

    Escape

    将一个html字符串转意:

    浏览器显示:

    Join

    拼接多个元素

    标签Tags

    For标签

    循环执行标签内部代码,例如:

    If,elif和else标签

    和其它编程语言的if语句一样,当条件为真或不为空时,执行代码块,例如:

    If标签中可以嵌套其它标签。

    注释Comments

    两种注释方式:

    {# 这里是注释 #}

    注释标签:

  • 相关阅读:
    POJ1094(Topological Sort)
    POJ1258(Minimum Spanning Tree,Prim)
    POJ2509(Water,Greedy)
    POJ1258(Minimum Spanning Tree,Kruskal)
    POJ1256(permutation)
    POJ2790(BFS)
    HDU 1527 取石子游戏
    POJ Mayor's posters
    HDU 1907 John
    HDU 2516 取石子游戏
  • 原文地址:https://www.cnblogs.com/wzbk/p/9012267.html
Copyright © 2011-2022 走看看