You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目中如何为HTML表格指定列填充数据?

问题分析

你当前的代码存在两个核心问题:

  1. 把myIDs和myNames拆成了两个独立的循环块,生成的是完全分开的行,导致名称数据无法和对应ID处于同一行。
  2. 嵌套<tr>是无效的HTML结构,浏览器解析时会自动修正,最终导致数据全部偏移到第一列。
解决方案

方案1:后端整合数据(推荐)

在Django视图中将分散的列表整合成结构化数据,让前端模板可以直接循环每一行的完整数据:

# Django视图中的代码
context = {
    'items': [
        {'id': id_val, 'name': name_val, 'height': height_val}
        for id_val, name_val, height_val in zip(myIDs, myNames, myHeights)
    ]
}

前端模板修改为:

<html>
   <body>   
           <table border="1" cellpadding="5" cellspacing="5"> 
               <tr>
                   <th>IDs</th>
                   <th>Names</th>
                   <th>Heights</th>
                 </tr>
               {% for item in items %}
                   <tr> 
                      <td>{{ item.id }}</td>
                      <td>{{ item.name }}</td>
                      <td>{{ item.height }}</td>
                   </tr>
               {% endfor %}
               </table>           
   </body>
</html>

方案2:前端用索引匹配(无需修改后端)

如果三个列表长度完全一致,可以通过Django模板的循环索引来匹配对应位置的元素。需要先自定义一个模板过滤器来支持列表索引:

  1. 在你的Django应用下创建templatetags/custom_filters.py文件,写入以下代码:
from django import template

register = template.Library()

@register.filter
def get_item(list_data, index):
    try:
        return list_data[index]
    except IndexError:
        return ''
  1. 前端模板中加载过滤器并使用:
{% load custom_filters %}
<html>
   <body>   
           <table border="1" cellpadding="5" cellspacing="5"> 
               <tr>
                   <th>IDs</th>
                   <th>Names</th>
                   <th>Heights</th>
                 </tr>
               {% for id in myIDs %}
                   <tr> 
                      <td>{{ id }}</td>
                      <td>{{ myNames|get_item:forloop.counter0 }}</td>
                      <td>{{ myHeights|get_item:forloop.counter0 }}</td>
                   </tr>
               {% endfor %}
               </table>           
   </body>
</html>

内容的提问来源于stack exchange,提问作者taha khamis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:45:28