在 html 中将 python 列表显示为 table

Display python list as table in html

我正在努力将我的列表格式化为 html 中的 table(我正在使用 django)。通常,我可以通过 for 循环轻松实现,如下所示:

<tbody>
    {% for item in lyrics %}
    <tr>
      <td>{{lyrics}}</td>
    </tr>
    {% endfor %}

但这给了我每个 table 单元格中的 整个 列表。

如果我这样做...

  <tr>
      <td>{{lyrics.0}}</td>
      <td>{{lyrics.1}}</td>
    </tr>

...有效。但显然我不想为所有 n 项都写出来。

我希望我能做类似...

{% for i in lyrics.i % }
     {{lyrics.i}}

但这也没有用。

下面的方法是让结果整齐地低于彼此,但显然它不是 table:

<ol class='lyrics-list'>
          {{ lyrics|unordered_list }}
        </ol>

我的列表来自我的观点:

lyrics = models.Song.objects.get().lyrics_as_list()

当您指定 for item in lyrics 时,您似乎想要使用 item 作为 table 单元格元素,而不是 lyrics。也就是你想要的好像是:

{% for item in lyrics %}
    <tr>
      <td>{{item}}</td>
    </tr>
{% endfor %}

原因如下:此 for 循环为 lyrics 中的每个元素创建了一个 <td> 元素。设置循环时,用于每个单独元素的标识符是 item。对于此循环的每次迭代,item 包含 lyrics.

的单个元素