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 &lt;  
Converts > to &gt;  
Converts "(双引号) to &quot;  
Converts '(单引号) to &#39;  

4,length,返回值的长度,你可以在一个list或string上做此操作或者在任何知道怎样决定自己的长度的Python对象上做此操作(即有一个len()方法的对象)
{{new.body | length}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 声明:转载请注明出处http://www.jianshu.com/p/1664dcfd840c 最近在折腾Djan...
    蛇发女妖阅读 6,310评论 1 10
  • autoescape 控制自动转义是否可用。on:开启自动转义off:关闭自动转义当自动转义生效时,所有变量内容会...
    马小跳_阅读 870评论 0 0
  • 一、变量 变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。 使用do...
    Jlan阅读 1,406评论 0 0
  • 文/逗逗,信息/网络 如果让男生来提一个问题,由女生来解答,他们最想知道哪些问题的答案? 看完以下全部的回答,瞬间...
    遇见逗逗阅读 412评论 0 0