include和set语句
include语句:
include语句可以把一个模板引入到另外一个模板中,类似于把一个模板的代码copy到另外一个模板的指定位置,看以下例子:
{% include 'header.html' %}Body{% include 'footer.html' %}
赋值(set)语句:
有时候我们想在在模板中添加变量,这时候赋值语句(set)就派上用场了,先看以下例子:
{% set name='xiaotuo' %}
那么以后就可以使用name来代替xiaotuo这个值了,同时,也可以给他赋值为列表和元组:
{% set navigation = [('index.html', 'Index'), ('about.html', 'About')] %}
赋值语句创建的变量在其之后都是有效的,如果不想让一个变量污染全局环境,可以使用with语句来创建一个内部的作用域,将set语句放在其中,这样创建的变量只在with代码块中才有效,看以下示例:
{% with %}{% set foo = 42 %}{{ foo }} foo is 42 here{% endwith %}
也可以在with的后面直接添加变量,比如以上的写法可以修改成这样:
{% with foo = 42 %}{{ foo }}{% endwith %}
这两种方式都是等价的,一旦超出with代码块,就不能再使用foo这个变量了。
