Python 如何从数组中取出某些项
在我的flask/jinja2应用程序中,我从数据库中获取一些行以打印到表中。对于每一行,我想为第一项中的行定义一个标识符,用第二项定义行的类,并将行的其余部分打印为表数据。我是这样做的,它可以工作,但感觉有点笨拙:Python 如何从数组中取出某些项,python,jinja2,Python,Jinja2,在我的flask/jinja2应用程序中,我从数据库中获取一些行以打印到表中。对于每一行,我想为第一项中的行定义一个标识符,用第二项定义行的类,并将行的其余部分打印为表数据。我是这样做的,它可以工作,但感觉有点笨拙: {%- for item in row %} {% if loop.index==1 %} <tr id="rec{{item}}" {% elif loop.index==2 %} class="{{item}}" >
{%- for item in row %}
{% if loop.index==1 %}
<tr id="rec{{item}}"
{% elif loop.index==2 %}
class="{{item}}" >
{% else %}
<td>{{item}}</td>
{% endif %}
{% endfor -%}</tr>
然后使用变量id和类定义行,然后遍历列表的剩余部分。这在金甲2号有可能吗
(使用debian 9上安装的jinja 2.8,但如果这能让事情变得更好的话,当然可以升级)您可以使用数组的索引从数组中获取第一个项目,并使用数组的切片(例如,
行[2:][/code>)作为for循环:
<tr id="rec{{row[0]}}" class="{{row[1]}}" >
{%- for item in row[2:] %}
<td>{{item}}</td>
{% endfor -%}</tr>
{%-对于第[2:]%行中的项
{{item}}
{%endfor-%}
您可以使用其索引从数组中获取第一个项目,并使用数组的一个切片(例如,行[2:]
)作为for循环:
<tr id="rec{{row[0]}}" class="{{row[1]}}" >
{%- for item in row[2:] %}
<td>{{item}}</td>
{% endfor -%}</tr>
{%-对于第[2:]%行中的项
{{item}}
{%endfor-%}
我想你可以在Jinja模板中使用切片,你能试试这个吗,因为我无法测试它:
<tr id="rec{{row[0]}}"
class="{{row[1]}}" >
{% for item in row[2:] %}
<td>{{item}}</td>
{% endfor -%}
</tr>
{第[2:]%行中的项的%
{{item}}
{%endfor-%}
我想你可以在Jinja模板中使用切片,你能试试这个吗,因为我无法测试它:
<tr id="rec{{row[0]}}"
class="{{row[1]}}" >
{% for item in row[2:] %}
<td>{{item}}</td>
{% endfor -%}
</tr>
{第[2:]%行中的项的%
{{item}}
{%endfor-%}