2012-10-26 83 views
7

是否可以將jinja2過濾器應用於{% block ... %}構造?我希望能做的事情是沿着這樣的路線:將jinja2過濾器應用於塊?

{% block content|upper %} 
here is some content that will be rendered in upper case 
{% endblock %} 

......但這不起作用;上面的例子會導致錯誤。有沒有其他的方式來包裝jinja2過濾器中的模板文本塊?

回答

6

您可以使用filter sections

{% block content %} 
    {% filter upper %} 
     Here is some content that will be rendered in upper case. 
    {% endfilter %} 
{% endblock %} 
+3

我會扭轉'block'和'filter'。這樣,模板擴展將不會覆蓋過濾器。 – Arion

+0

這取決於特定的目的 - 將'filter'嵌套到'block'中以允許覆蓋或嵌套'block'到'filter'中以禁止重寫。恕我直言,第一種變體更靈活,第二種變體只有在你確定你總是需要用定義的過濾器過濾該塊時纔是好的。 –

+1

你知道嗎,我想今天我可能已經多次盯着文檔的這一部分,並且因爲我非常專注於'{%block ...%}'而無法準確讀取它。感謝指針。 – larsks

相關問題