Django使用列表值填充html表

时间:2018-04-13 15:04:57

标签: html django django-templates django-views

我正在尝试使用Django使用解析的txt文件中的数据填充我的html表。 现在我的parse.py程序在列表中提供txt文件,例如:

[['1523501752', 'mac', '192.168.1.180', 'Device1', 'mac'], 
['1523514991', 'mac', '192.168.1.113', 'device2', 'mac']]

每个内部列表代表一行txt文件(有关设备的信息)。我将此列表保存在变量中并将其用作上下文。问题是我需要列表中的特定参数。我的意思是在html表中我会有三列和多行,因为上下文中会有列表。这三列将是IP地址,设备名称和mac地址。

现在我的代码看起来像这样:

    <tbody>
        {% for line in lines  %}
        <tr>
          {% for value in line%}
            <td>{{ value.1}}</td>
            <td>{{ value.2 }}</td>
            <td>{{ value.3 }}</td>
        </tr>
          {% empty %}
          <tr>
              <td colspan="8" class="text-center bg-warning"> Device not found </td>
          </tr>
          {% endfor %}
        {% endfor %}
    </tbody>

但结果真的不如预期...... DTL一次只需1个符号.. 我怎么能解决这个问题?

试图搜索信息:

Django : HTML Table with iterative lists valuesHow to populate html table with info from list in django

不幸的是没有正确答案。

1 个答案:

答案 0 :(得分:0)

在没有看到其余代码的情况下,确实有点难以说,但看起来你只需要遍历列表的初始列表。

然后,您可以通过索引在每个列表中引用所需的特定值。

例如:

<tbody>
    {% for line in lines  %}
    <tr> 
        <td>{{ line.0}}</td>
        <td>{{ line.1 }}</td>
        <td>{{ line.2 }}</td>
    </tr>
    {% endfor %}
</tbody>