下面的代码部分采用一个子窗体(formfield的字段列表)并循环遍历每个字段,并以html显示它们。我只想显示前(x)个元素,然后写点东西,然后显示后(y)个元素。
我尝试切片列表for field in l[0:x]
,但得到TypeError:无法散列的类型:'slice'。
任何帮助将不胜感激,如果我在问题中没有提供足够的信息或上下文,请告诉我,我将提供所需的任何其他信息!
{% for l in form.systems %}
<div class="column">
<b> System {{ loop.index }} </b>
<table>
{% for field in l %}
<tr>
<td>
{{field.label}}
</td>
<td>
{{field(size=20)}}
</td>
</tr>
{% endfor %}
</table>
</div>
{% endfor %}
答案 0 :(得分:1)
在模板[:]中无法使用此切片时,请尝试
{{ your_list|slice:"0:x" }}
答案 1 :(得分:0)
我能够使用jinja中的循环控件访问循环的一部分:
在Flask应用中:
<ComboBox ItemsSource="{Binding HeaderList}"
IsSelected="False"
HorizontalAlignment="Left"
Height="10"
x:Name="ComboBox">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsChecked}"/>
<TextBlock Text="{Binding HeaderName}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
在HTML中:
app.jinja_env.add_extension('jinja2.ext.loopcontrols')