8.模板标签与过滤器

一: 模板的组成

HTML代码+逻辑控制代码

二:逻辑控制代码的组成

1.变量(使用双大括号引用变量)

{{ var_name }}

2.标签(tag)的使用(使用大括号和百分号的组成来表示使用tag)

{% load staticfiles %}

过滤器(filter)的使用

{{ ship_date|date:"F j,Y" }},ship_date变量传给date过滤器,date过滤器通过使用"F j, Y"这几个参数来格式化日期数据。“|”代表类似的unix命令中的管道操作。

三:常用标签(tag)

标签名 作用 注意事项 扩展语法
if 条件控制 必须以endif标签结束 if..elif..else;表达式支持:==, !=, <, >, <=, >=, and, or, not, in
for..in.. 循环遍历 必须以endfor标签结束 ++参见for标签内建变量++
for..in.. reversed 反向循环遍历 必须以endfor标签结束
for..in..empty.. 单独指定空的时候的操作 必须以endfor标签结束
cycle 循环时周期性的遍历可迭代对象的每个元素
with
url
verbatim
date
load
firstof
spaceless
autoescape
filter
debug
csrf_token

for循环内建变量

属性 含义
forloop.counter 当前的循环计数(从1到length)
forloop.counter0 当前的循环计数(从0到length-1)
forloop.revcounter 当前循环的倒数计数(从length 到 1) ---变得是计数,内容还是不变的
forloop.revcounter0 当前循环的倒数计数(从length-1 到 0)---变得是计数,内容还是不变的
forloop.first 返回一个Bool值,是不是循环的第一个
forloop.last 返回一个Bool值,是不是循环的最后一个
forloop.parentloop 对于嵌套循环,给出父循环的计数

四:常用过滤器

名称 作用 注意事项 扩展语法
add 给变量加上相应的值 首先强制转换成Int类型,失败则(字符串, 列表, 等等.) 转换失败输出空字符串
addslashes 在引号前面加上斜杠
capfirst 首字母大写
cut 移出指定字符
date 根据给定格式对一个 日期 变量格式化
time 根据给定格式对一个 时间 变量格式化
timesince 格式化时间????
default 如果值是False则替换成设置的默认值
default_if_none 如果值是False则替换成设置的默认值
dictsort 按照字典中的指定key对字典进行排序
dictsortreversed 和上面正好相反
divisibleby 值能否被指定数字整除 结果是Bool类型
escape 对字符串进行转义
safe 与上一个相反,对某个变量关闭自动转义
escapejs 替换字符串中的部分值以适应javascript和json
filesizeformat 讲数字转换成可读的文件大小格式
first 返回列表中的第一个值
last 返回列表中的最后一个值
floatformat 格式化浮点数
length 字符串或者列表的长度
urlencode 对url进行编码处理
upper\lower 大写\小写
slice 切片操作
truncatechars 按照字符截取字符串
truncatewords 按照单词截取字符串
striptags 过滤掉html标签
。。。

模板和继承

包含
{% include %} 允许在模板中包含其它模板的内容

标签的参数可以是:模板名称、变量、字符串
{% include 'nav.html'%}
{% include 'app/nav.html'%}
{% include template_name'%}

继承
1 {% block %} 定义块

2 {% extend %} 继承父模板

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 123,252评论 18 134
  • autoescape 控制自动转义是否可用。on:开启自动转义off:关闭自动转义当自动转义生效时,所有变量内容会...
    马小跳_阅读 558评论 0 0
  • 声明:转载请注明出处http://www.jianshu.com/p/1664dcfd840c 最近在折腾Djan...
    蛇发女妖阅读 5,601评论 1 10
  • 一、变量 变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。 使用do...
    Jlan阅读 1,148评论 0 0
  • 作者:潘映航 导读:孝养父母不论贫富,有钱就多给点父母花。没钱多陪父母散散步吃吃饭,人老了,就会像小孩子一样撒娇。...
    文案干货小潘阅读 59评论 1 2
  • 一般App进入后台之后,超过了后台运行时间,便进入了挂起状态,无法执行代码,但是内存并没有清除。主要用到2个方法:...
    H_A_N阅读 4,237评论 0 4
  • 失去後,請珍惜再擁有的!
    秋晟雪阅读 143评论 0 0
  • 1. 有一位搞艺术的朋友考了我一个问题:为啥现当代艺术品,卖得比古董还贵? 确实,这两年经常听到这样的新闻,很多在...
    _郭永山_阅读 104评论 0 0