django 模板系统知识记录

  • 注释
    和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个字,过滤器参数一直使用双引号.

  • 下面是一些最重要的过滤器:

  1. addslashed,在任何后斜线,单引号,双引号前添加一个后斜线当你把一些文本输出到一个JavaScript字符串时这会十分有用
  2. date,根据一个格式化string参数来格式化date或datetime对象,例如:
    {{ pub_date|date:"F j, Y" }}
    格式化string会在附录6定义
  3. 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}}

你可能感兴趣的:(django 模板系统知识记录)