Джинджа2 л oop создание дубликатов - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь создать таблицу, используя данные из нескольких массивов, которые у меня есть для моего Flask веб-приложения.

Я использую два цикла - сначала l oop через переменные для создания строк; второй через l oop через сам массив, чтобы получить различные позиции. Это работает по большей части, но слишком много зацикливается? Мои результаты одинаковы всего 3 раза.

<table id="example-datatable" class="table table-bordered table-hover">
<thead>
    <tr>
        <th>Item</th>
        <th>Quantity</th>
        <th>Price</th>
        <th>Discount %</th>
    </tr>
</thead>

<tbody>
    {% for record in invoice %}
    {% set length = (invoice | length)-1 %}
    {% for i in range(0, length) %} 
    <tr>
        <td>{{invoice["fields"]["Account item codes"][i]}}</td>
        <td>{{invoice["fields"]["Account item quantities"][i]}}</td>
        <td>{{invoice["fields"]["Account item prices"][i]}}</td>
        <td>{{invoice["fields"]["Account item discount %s"][i]}}</td>
    </tr>
    {% endfor %}
    {% endfor %}
    </tbody>

Вот результаты, которые я получаю. Это правильно , но повторяется три раза, а не один раз.

Results

Я сейчас нахожусь в той точке, где, как мне кажется, я смотрел на это так сильно, что я не вижу этой проблемы.

1 Ответ

0 голосов
/ 29 января 2020

Был в состоянии исправить это, убрав все oop ... немое исправление. но рад, что это исправить!

Отредактированный код:

<table id="example-datatable" class="table table-bordered table-hover">
                                <thead>
                                    <tr>
                                        <th>Item</th>
                                        <th>Quantity</th>
                                        <th>Price</th>
                                        <th>Discount %</th>
                                    </tr>
                                </thead>

                                <tbody>
                                    {% set length = (invoice | length)-1 %}
                                    {% for i in range(0, length) %} 
                                    <tr>
                                        <td>{{invoice["fields"]["Account item codes"][i]}}</td>
                                        <td>{{invoice["fields"]["Account item quantities"][i]}}</td>
                                        <td>{{invoice["fields"]["Account item prices"][i]}}</td>
                                        <td>{{invoice["fields"]["Account item discount %s"][i]}}</td>
                                    </tr>
                                    {% endfor %}
                                    </tbody>
                            </table>
...