①模板标签
标签在渲染的过程中提供任意的逻辑。
例如:一个标签可以输出内容,作为控制结构,“if” 语句或 "for" 循环从数据库中提取内容,甚至可以访问其它的模板标签。
Tags 是由 %} 和 {% 来定义的,例如:{% tag %} {% endtag %}
大部分标签都接受参数。
②常用标签
forloop.counter:当前迭代的次数,下标从 1 开始。
forloop.counter0:当前迭代的次数,下标从 0 开始。
forloop.revcounter:和 forloop.counter 一样,下标从大到小。
forloop.revcounter0:和 forloop.counter0 一样,下标从大到小。
forloop.first:返回 bool 类型,如果是第一次迭代,返回 true,否则返回 false。
forloop.last:返回 bool 类型,如果是最后一次迭代,返回 true,否则返回 false。
forloop.parentloop:如果发生多层 for 循环嵌套,那么这个变量返回的是上一层的 for
③模板标签例子
# index33.html
# for 的使用
# url 页面转换
# with 的使用
# autoescape 的使用
原始的:{{ html }} <br>
过滤器方式:{{ html |safe }} <br>
标签方式:
{% aotoescape off %}
{{ html }} <br>
{% endautoescape %}
③模板继承与引用
Django 模板引擎中最强大也是最复杂的部分就是模板继承了。模板继承可以让你创建一个基本的“骨架”模板,它包含你站点中的全部元素,并且可以定义能够被子模板覆盖的 block。
继承:
模板继承使用 extends 标签实现。通过使用 block 来给子模板开放接口。
引用:
include 标签可以包含一个 html 模板到当前模板中。和继承不同,include 是把 html 模板在此处展开。
例如:{% include 'head.html' %}
父模板:
引用
子模板继承
④注释标签