我有一个数据,看起来像这样,我从flask render_template
一个名为product_list
[(22, '1', 'false'), (94, '2', 'true'), (95, '3', 'false'), (100, '4', 'false'), (101, '5', 'false'), (102, '6', 'false'), (103, '7', 'false'), (104, '8', 'false'), (105, '9', 'false'), (106, '10', 'false'), (120, '11', 'false'), (121, '12', 'false')]
基本上
元组中的第一项是"product_id"第二项是"product_version"第三项是"is_product_active">
我试图渲染这些元组在一个select
标签上我的html。
列表的顺序是这样的,列表中的第一项应该是下拉菜单中的selected
,所以我尝试了这个
<select size="2" data-width="fit" style="line-height:2px">
<option value="{{product_list[0][0]}}" selected >Version: {{product_list[0][1]}}</option>
{% for product in product_list|slice:"1:" %}
<option value="{{product[0]}}">Version {{product[1]}}</option>
{% endfor %}
</select>
这个不工作,flask jinja抛出错误说jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got 'string'
主要来自product_list|slice:"1:"
我基本上将数组的第一项设置为选中,然后我试图跳过数组中的第一项,并简单地在下拉列表中添加其他项。
有什么更简洁的方法可以帮助提高html代码的可读性呢?
可以使用括号表示法。
{% for product in product_list[1:] %}