我有以下代码:
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文档中,似乎这是不可行的。任何解决方法?
答案 0 :(得分:1)
我认为你可以使用ChoiceLoader
吗?将生成的模板放在DictLoader
中,然后使用ChoiceLoader
和适当的DictLoader
设置FileSystemLoader
。