2013-03-07 130 views
5

我正在嘗試使用sandboxed Jinja2環境來處理模板自定義。如何在Jinja2中使用FunctionLoader包含宏/其他模板?

我試過使用DictLoader和FunctionLoader,但仍然遇到類似的問題...我現在主要關注FunctionLoader。

我無法管理到includeimport另一個模板(其中包含宏)。 FuctionLoader的指定「加載」功能從不會被調用引用的模板。

我已經試過,沒有運氣:

  • 只是希望進口將使用基本的「進口」打裝載機和「包括」語法
  • 通過加載到背景下,如果它可能看到拉這樣
  • 通過模板的字典進入的背景下,也希望它可以在
  • 一些更多的東西拉,我全部忘記

我確定有一種方法可以支持 - 有人能指出我的方向嗎?

回答

15

導入語法必須使用帶引號的字符串。

壞:

{% import utils %} 
{% import utils.macros as macros %} 
{% from utils.macros import macro_1 , macro_2 %} 

好:

{% import "utils" as utils %} 
{% import "utils.macros" as macros %} 
{% from "utils.macros" import macro_1 , macro_2 %} 

加引號的字串被傳遞到FunctionLoader或用作與DictLoader

+3

作爲一個側面說明關鍵:這種行爲是不在官方文檔中提到。 – 2013-03-12 17:28:07

相關問題