Loops 烧瓶中的循环,格式上有不同的标记

Loops 烧瓶中的循环,格式上有不同的标记,loops,flask,jinja2,Loops,Flask,Jinja2,有一个关于在烧瓶中循环列表的问题。我希望第一个列表项与列表中的其他项具有不同的标记。我在下面写的东西不能正常工作 我正在迭代的列表: [[“英国车”、“沃克斯豪尔”、“路虎”、“捷豹”、“德国车”、“梅赛德斯”、“宝马”、“奥迪”]] HTML/Jinja: {%用于品牌中的列表%} {列表%中的项目的%s} {%if loop.first%} {%endif%} {{item}} {%endfor%} {%endfor%} 发生的事情是optgroup使用“英国车”或“德国车”(如我所愿)

有一个关于在烧瓶中循环列表的问题。我希望第一个列表项与列表中的其他项具有不同的标记。我在下面写的东西不能正常工作

我正在迭代的列表:

[[“英国车”、“沃克斯豪尔”、“路虎”、“捷豹”、“德国车”、“梅赛德斯”、“宝马”、“奥迪”]]
HTML/Jinja:

{%用于品牌中的列表%}
{列表%中的项目的%s}
{%if loop.first%}
{%endif%}
{{item}}
{%endfor%}
{%endfor%}
发生的事情是optgroup使用“英国车”或“德国车”(如我所愿)构建,但它也创建了一个具有该名称的选项。我不想要的东西


应该如何编写,以使选项仅显示各种品牌?

听起来您需要使用
else
子句来防止在循环第一次迭代时添加选项

{%用于品牌中的列表%}
{列表%中的项目的%s}
{%if loop.first%}
{%else%}
{{item}}
{%endif%}
{%endfor%}
{%endfor%}
请注意,这假定
品牌
的所有子列表的格式相同:

['Label','model','model','model']

@v25在他们的回答中指出,为此使用列表有一定的脆弱性:可能更明智的做法是将其存储在字典或不基于索引的东西中。@monsieuralfonse64我同意可能有更好的数据结构,但我觉得这超出了这个问题的范围。使用字典可能是一种不那么脆弱的储存品牌的方法吗?