常用标签

  • 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' %}





路漫漫其修远兮,吾将上下而求索