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

如何在Django模板中根据字段数量创建行列动态的带数字表格

实现方案
  • 方式一:直接通过Django模板内置循环变量实现(适合单元格为连续数字的场景)
    Django模板的forloop变量可以直接获取当前循环的计数,内层循环通过forloop.parentloop获取外层行循环的计数,直接计算单元格数字即可。完整模板代码如下:
<table border="1">
    {% for i in row %}
        <tr>
            {% for x in columns %}
                <td>{{ (forloop.parentloop.counter0 * columns|length) + forloop.counter }}</td>
            {% endfor %}
        </tr>
    {% endfor %}
</table>

公式说明:forloop.parentloop.counter0是外层行循环从0开始的计数,乘上总列数之后加上当前列从1开始的计数,最终得到从1开始按行优先排列的连续数字。

  • 方式二:后端提前构造二维表格数据(适合单元格为自定义业务数据的场景)
    先在views.py中构造好每一行每一列对应的内容,再传递到模板,逻辑更清晰,也方便后续扩展其他字段。
    视图层代码示例:
from django.shortcuts import render

def table_page(request):
    # 自定义行列数
    row_count = 5
    col_count = 4
    # 构造二维数组,存储每个单元格的内容
    table_data = []
    for row_idx in range(row_count):
        current_row = []
        for col_idx in range(col_count):
            # 这里可以替换为你自己的业务逻辑生成单元格内容
            current_row.append(row_idx * col_count + col_idx + 1)
        table_data.append(current_row)
    return render(request, '你的模板路径.html', {
        'table_data': table_data
    })

对应的模板代码:

<table border="1">
    {% for row in table_data %}
        <tr>
            {% for cell_val in row %}
                <td>{{ cell_val }}</td>
            {% endfor %}
        </tr>
    {% endfor %}
</table>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:45:01