2013-02-13 129 views
1

延長我有以下代碼:神社負載模板 - 從文件

from jinja2 import Template 
templ_str = "lots of garbly html" # Compiled by external logic 
templ_context = ast.literal_eval(context_dir) # Compiled by external logic 
template = Template(templ_str) 
template.render(**context) 

模板的身體被編譯在運行並傳遞給模板引擎。不過,我想用一個基本的包裝器從文件中擴展該模板。我知道這可以用FileSystemLoader完成,但我需要從內存中加載我的主模板,而不是從文件中加載。

從API文檔看來,這似乎是不可行的。任何解決方法?

回答

1

我想你可以用這個ChoiceLoader這個?將您生成的模板放入DictLoader,然後使用DictLoader和適當的FileSystemLoader設置ChoiceLoader