如何在flask中切片formfield的字段列表?

时间:2018-11-29 20:27:58

标签: python python-3.x flask jinja2 flask-wtforms

下面的代码部分采用一个子窗体(formfield的字段列表)并循环遍历每个字段,并以html显示它们。我只想显示前(x)个元素,然后写点东西,然后显示后(y)个元素。

我尝试切片列表for field in l[0:x],但得到TypeError:无法散列的类型:'sl​​ice'。

任何帮助将不胜感激,如果我在问题中没有提供足够的信息或上下文,请告诉我,我将提供所需的任何其他信息!

{% 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 %}

2 个答案:

答案 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')