如何在Jinja中使用查找表?

免费

在我的Jinja模板中,我有一个像这样的元组列表:

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

我使用alist而不是a,dict因为顺序很重要(我也使用其他地方的列表来生成列表框)。

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

{{ dict(typeLabels)[someType] }}

如果您在Python中执行此操作,效果很好,但在Jinja中不起作用。

我该怎么在Jinja做到这一点?

免费

好吧,由于没有答案,我将根据建议发布解决方案。

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

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

然后在模板中:

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

因此,现在您可以正常访问字典了:

{{ typeLabels[someType] }}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Excel中的查找表中使用比例?

如何在变量中使用jinja变量

如何在使用xpath的列中使用特定文本重复的表中查找特定链接

如何在查找中使用多个参数?

如何在mongoosejs中使用'OR'查找?

如何在R中使用查找表而不创建重复项?

如何在SQL(Oracle)中使用多个表查找结果集的最高计数

如何在Java中使用Selenium WebDriver查找特定的表元素?

如何在SQL Server中使用查找表替换列中的子字符串

SQL Server:如何在表数据中使用单引号查找和替换多引号

如何在pandas数据框中使用分组依据或数据透视表查找均值?

如何在python中使用负索引/输入创建查找表?

如何在 Laravel 中使用数据透视表数据查找模型?

如何在java中使用Apache POI从Excel工作表中提取数据(查找框架)

如何在Jinja2模板中使用变量

如何在 Django(jinja) 中使用标签集?

如何在 Django 中使用 jinja 跟踪 url?

高级:如何在Jinja2中使用href

如何在 jinja2 模板中使用占位符?

如何在python函数中使用airflow jinja模板?

如何在 Django 3.1 中使用 jinja2

如何在Postgres中使用派生表

如何在foreachBatch中使用临时表?

如何在多个表中使用插入?

如何在SORM中使用联接表?

在mysql中使用union时如何查找包含记录的表

在Python中使用查找表

如何在Makefile中使用,查找和使用通配符?

当输入是 URL 的一部分时,如何在 Google 标签管理器中使用查找表?