Итерация нескольких вложенных списков в шаблоне Flask с использованием цикла For - PullRequest
0 голосов
/ 02 марта 2020

У меня есть Python список, подобный следующему

[[1, 'sarmad ali', 10], [2, 'nabeel', 200], [3, 'tayyab', 40202]]

Я хочу показать их в виде таблицы / двумерного стиля в шаблоне (html страница) следующего

1 sarmad ali 10

2 nabeel 200

3 tayyab 40202

Я могу получить следующее

1 sarmad ali 10 2 nabeel 200 3 tayyab 40202

В моем файле python есть данные в виде Dataframe, преобразованные в list.

{% for col in data_list%}

    {% for row in col%}

        <td>{{row}}</td>

    {% endfor %}

    <br>

{% endfor %}

Вышеуказанное вложенное l oop: вывод в одну строку вместо табличного формата. Я понял, что второй l oop повторяет все списки в одну строку вместо того, чтобы повторять один список за раз

Не стесняйтесь задавать любые вопросы для получения дополнительных разъяснений.

Ответы [ 2 ]

1 голос
/ 02 марта 2020
<table>
{% for sno, name, rank in data_list%}
   <tr>
     <td>{{sno}}</td>
     <td>{{name}}</td>
     <td>{{rank}}</td>
  </tr>
{% endfor %}
</table>

Отредактировано: предположим, что если вы не знаете количество элементов в списке,

<table>
{% for tr in data_list%}
   <tr>
   {% for td in data_list%}
     <td>{{td}}</td>
    {% endfor%}
  </tr>
{% endfor %}
</table>
0 голосов
/ 02 марта 2020

Это то, что я использую в файле шаблона для отображения списка.

<div class="content-section">
    <legend class="mb-4"> Table </legend>
<table class="table" >
<thead>
    <tr>
      <th scope="col">#</th>
      {%for i in columns%}
      <th scope="col">{{i[0]}}</th>
      {%endfor%}
    </tr>
  </thead>
  <tbody>

    {%for i in result%}

    <tr>
          <th scope="row">{{loop.index}}</th>
          {%for k in i%}
          <td>{{k}}</td>
          {%endfor%}
      </tr>

    {%endfor%}
    </tbody>
</table>

</div>
...