Jinj中的列表理解

2024-06-01 10:56:13 发布

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

我有两个清单:

  1. strainInfo,它包含一个名为“replicateID”的dictionary元素
  2. selectedStrainInfo,它包含一个名为“replicateID”的dictionary元素

我正在检查我的每个毒株的replicateID是否在选定毒株的列表中,在python中应该是这样的:

for strain in strainInfo:
    if strain.replicateID in [selectedStrain.replicateID for selectedStrain in selectedStrainInfo]
        print('This strain is selected')

我在django中得到了正确的功能,但我想知道是否有一种方法可以简化列表理解:

{% for row in strainInfo %}
    {% for selectedStrain in selectedStrainsInfo %}
       {% if row.replicateID == selectedStrain.replicateID %} 
           checked 
       {% endif %}
    {% endfor %}
{% endfor %}

Tags: in元素列表fordictionaryifrowprint
1条回答
网友
1楼 · 发布于 2024-06-01 10:56:13

List comprehensions are not supported in Jinja

您可以通过Jinja将数据传递给JavaScript变量,如下所示

var strainInfo = {{strainInfo|safe}};
var selectedStrainInfo = {{selectedStrainInfo|safe}};

然后在那里打扫干净。

使用Jinja的safe过滤器防止数据被HTML转义。

相关问题 更多 >