我有以下代码:

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文档来看,这似乎不可行。任何解决方法?

最佳答案

我想您可以为此使用ChoiceLoader吗?将生成的模板放在DictLoader中,然后使用ChoiceLoader和适当的DictLoader设置FileSystemLoader

关于python - Jinja从字符串加载模板-并从文件扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14864416/

10-12 13:03