jinja2模板的多重呈现?

2024-10-01 17:37:44 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法用金贾二号做到这一点?在

template = Template("{{ var1 }}{{ var2 }}")
rendered1 = template.render(var1=5) # "5-{{ var2 }}"
rendered2 = Template(rendered1).render(var2=6) # "5-6"

基本上,我希望能够在一个模板上进行多次传递。当模板引擎在模板中发现一个不在上下文中的变量时,与其将其替换为空变量,不如保持模板变量的完整性?如果不是jinja2,有没有其他python模板库可以做到这一点?在


Tags: 引擎模板jinja2templaterender完整性办法var1
1条回答
网友
1楼 · 发布于 2024-10-01 17:37:44

您可以使用保留失败查找的DebugUndefined,作为Template环境的undefined参数的Undefined Type

>>> from jinja2 import Template, DebugUndefined
>>> template = Template("{{ var1 }}-{{ var2 }}", undefined=DebugUndefined)
>>> rendered1 = template.render(var1=5) # "5-{{ var2 }}"
>>> print(rendered1)
5-{{ var2 }}
>>> rendered2 = Template(rendered1).render(var2=6) # "5-6"
>>> print(rendered2)
5-6

相关问题 更多 >

    热门问题