<转> 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

两种注释方式:

{# 这里是注释 #}

注释标签:

猜你喜欢

转载自www.cnblogs.com/wzbk/p/9012267.html
今日推荐