“金家”中的列表理解

2022-02-27 00:00:00 python jinja2

问题描述

我有两个列表:

  1. strainInfo,其中包含名为‘replicateID’的字典元素
  2. selectedStrainInfo,其中包含名为""replicateID""的字典元素""
  3. ""

我要检查我的每个菌株的复制ID是否在所选菌株的列表中,在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 %}

解决方案

List comprehensions are not supported in Jinja

您可以通过JJJA将数据传递给类似于so的JavaScript变量

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

然后在那里打扫卫生。

使用金佳的safe过滤防止您的数据被Html转义。

相关文章