注释
和HTML或编程语言如Python一样,Django模板语言允许注释{# #},如:
{# This is a comment #}
模板渲染时注释不会输出,一个注释不能分成多行下面的模板渲染时会和模板中的内容一样,注释标签不会解析成注释
This is a {# comment goes hereand spans another line #}test.
过滤器
模板过滤器是变量显示前转换它们的值的方式,看起来像下面这样:
{{ name|lower }}
这将显示通过lower过滤器过滤后{{ name }}变量的值,它将文本转换成小写使用(|)管道来申请一个过滤器过滤器可以串成链,即一个过滤器的结果可以传向下一个下面是escape文本内容然后把换行转换成p标签的习惯用法:
{{ my_text|escape|linebreaks }}
有些过滤器需要参数,需要参数的过滤器的样子:
{{ bio|truncatewords:"30" }} #这个对我很重要
这将显示bio标量的前30个字,过滤器参数一直使用双引号.下面是一些最重要的过滤器:
- addslashed,在任何后斜线,单引号,双引号前添加一个后斜线当你把一些文本输出到一个JavaScript字符串时这会十分有用
- date,根据一个格式化string参数来格式化date或datetime对象,例如:
{{ pub_date|date:"F j, Y" }}
格式化string会在附录6定义 - escape,避免给定的string里出现and符,引号,尖括号当你处理用户提交的数据和确认合法的XML和XHTML数据时这将很有用escape将作如下的一些转换:
Converts & to &
Converts < to <
Converts > to >
Converts "(双引号) to "
Converts '(单引号) to '
4,length,返回值的长度,你可以在一个list或string上做此操作或者在任何知道怎样决定自己的长度的Python对象上做此操作(即有一个len()方法的对象)
{{new.body | length}}