我有以下代码:
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/