如何在Jinja中使用查找表?

2024-10-03 09:07:02 发布

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

在我的Jinja模板中,我有一个元组列表,如下所示:

{% set typeLabels = [
    ('type1', 'Label for type 1'),
    ('type2', 'Label for type 2'),
    ('type3', 'Label for type 3')
] %}

我使用list而不是dict,因为顺序很重要(我还在别处使用列表来生成列表框)。在

然后我需要像这样进行查找:

^{pr2}$

如果你在Python中这样做很好,但是在Jinja中就不行了。在

我在金贾怎么办?在


Tags: 模板列表for顺序typelabeldictlist
1条回答
网友
1楼 · 发布于 2024-10-03 09:07:02

好吧,既然没有答案,我会根据建议发布我的解决方案。在

首先,您必须将collections.OrderedDict添加到Jinja环境中,因为Jinja对此一无所知:

JINJA_ENV = jinja2.Environment( . . . )
JINJA_ENV.globals['OrderedDict'] = collections.OrderedDict

然后在模板中:

^{pr2}$

现在您可以正常访问字典:

{{ typeLabels[someType] }}

相关问题 更多 >