2012-11-20 96 views
0

我有一個模板,像這樣:訪問全局變量包括:

{% extends 'master.html' %} 
{% set myVar = true %} 

... 

{% block myBlock %} 
    {% include '/includes/myinclude.html' %} 
{% endblock %} 

我無法訪問myVar我包括內。但是,如果我這樣做:

{% block myBlock %} 
    {% set myVar = myVar %} 
    {% include '/includes/myinclude.html' %} 
{% endblock %} 

神奇的是,它是可訪問的。顯然,我不想在兩個不同的地方設置我的變量。我做錯了什麼,或者這只是Jinja2做的一件愚蠢的事情?

回答

0

我認爲你必須添加作用域爲塊,如:

{% block myBlock scoped %} 
    {% include '/includes/myinclude.html' %} 
{% endblock %} 

從DOC:每塊默認情況下可能無法從外部範圍內訪問變量。

+0

嗯..沒有工作:\ \ – Jason