控制自动转义是否可用。参数是on或off。 该标签会以一个endautoescape作为结束标签.
例如:
{% autoescape on %}
{{ body }}
{% endautoescape %}
2. block
block标签可以被子模板覆盖。
3. comment
在{% comment %}和{% endcomment %}之间的内容会被忽略,作为注释。
比如,当要注释掉一些代码时,可以用此来记录代码被注释掉的原因。
例如:
Rendered text with {{ pub_date|date:"c" }}
{% comment "Optional note" %}
Commented out text with {{ create_date|date:"c" }}
{% endcomment %}
comment标签不能嵌套使用。
4. csrf_token
这个标签用于跨站请求伪造保护。常用于为form表单提供csrf令牌。
5. cycle
每当这个标签被访问,返回它的下一个元素。第一次访问返回第一个元素,第二次访问返回第二个参数,以此类推. 一旦所有的变量都被访问过了,就会回到最开始的地方,重复下去。这个标签在循环中特别有用:
{% for o in some_list %}
...
{% endfor %}
第一次迭代产生的HTML引用了row1类,第二次则是row2类,第三次又是row1 类,如此类推。
cycle的本质是根据某个规律,提供某种特性,比如想循环给表格的行添加底色等等。
也可以使用变量, 例如,如果你有两个模版变量:rowvalue1和rowvalue2, 可以让他们的值像这样替换:
{% for o in some_list %}
...
{% endfor %}
被包含在cycle中的变量将会被转义。 可以禁止自动转义:
{% for o in some_list %}
...
{% endfor %}
可以混合使用变量和字符串:
{% for o in some_list %}
...
{% endfor %}
在某些情况下,可能需要连续引用一个当前循环的值,而不前进到下一个循环值。要达到这个目的,只需使用as来给{% cycle %}取一个别名,就像这样:
{% cycle 'row1' 'row2' as rowcolors %}
从那时起(设置别名后),你可以将别名当作一个模板变量进行引用,从而随意在模板中插入当前循环的值。 如果要将循环值移动到原始cycle标记的下一个值,可以使用另一个cycle标记并指定变量的名称。看下面的例子:
... |
... |
... |
... |
将输出:
... |
... |
... |
... |
cycle 标签中,通过空格分割,可以使用任意数量的值。被包含在单引号(')或者双引号(")中的值被认为是可迭代字符串,相反,没有被引号包围的值被当作模版变量。
6. debug
输出整个调试信息,包括当前上下文和导入的模块。
7. extends
表示当前模板继承自一个父模板。
这个标签可以有两种用法:
{% extends "ba