常用标签
- if/elif/else
- 可以使用and/or/in/not/==/!=/<=/>=
- ifequal/ifnotequal
{% ifequal name 'DoubleU' %}
DoubleU来了
{% endifequal %}
- for...in...
- forloop.counter:当前迭代的次数,下标从1开始。1,2,3
- forloop.counter0:当前迭代的次数,下标从e开始。0,1,2
- forloop.revcounter:跟forloop.counter一样,下标从大到小。3,2,1
- forloop.revcountere:跟forloop.counter0一样,下标从大到小。2,1,0
- forloop.first:返回bool类型,如果是第一次迭代,返回true,否则返回false
- forloop.last:返回bool类型,如果是最后一次迭代,返回True,否则返回False
- forloop.parentloop:如果发生多层for循环嵌套,那么这个变量返回的是上一层的for
- for...in...empty...:如果没有数据,跳转到empty中
- load:加载第三方标签。最常用的是`{%load static%}
- url:返回一个命名了的URL的绝对路径
- with...as...:给一个变量取别名
- autoescape:开启和关闭自动转义
{% autoescape off %}
- comment:多行注释
模板的继承与引用
- 继承使用extends标签实现、通过使用block来给子模板开放接口
- extends必须是模板中的第一个出现的标签
- 子模板中的所有内容,必须出现在父模板定义好的block中,否则django将不会渲染
- 尽可能多的定义block,方便子模板实现更细的需求
- 如果在某个block中,要使用父模板的内容,使用block.super获取
- 引用
{% include 'books/test2.html' %}
路漫漫其修远兮,吾将上下而求索