2.7 jinja2 include和set语句

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这个变量了。

你可能感兴趣的:(2.7 jinja2 include和set语句)