1

我正在使用 django 数据表,来自服务器的数据具有以下格式:

[ ['id_value','data col1','data col2',...]
   .
   .
   .]

我试图使每一行的 id 如下:

'rowId': 1,

但它不起作用

我的html代码:

<table id="mainDataTable" class="table table-responsive-md table-{{ documentvals.table_type }}">
                        <thead>
                        <tr>
                            {% for field in list_fields %}
                                <th> {{ field }}</th>
                            {% endfor %}
                        </tr>
                        </thead>
                        <tbody>

                        </tbody>
                        <tfoot>
                        <tr>
                            {% for field in list_fields %}
                                <th> {{ field }}</th>
                            {% endfor %}
                        </tr>
                        </tfoot>
                    </table>
            

另外,我的js代码是:

let _columns= [
    {% for field in list_fields %}
        { "data": '{{ field }}' },
        {% endfor %}
]

$('#mainDataTable').DataTable({
        "paging": true,
        "lengthChange": true,
        "searching": true,
        "ordering": true,
        "info": true,
        "columns": _columns,
        "autoWidth": false,
        "responsive": true,
        "aaSorting": [],
        "pageLength": pag,
        "bProcessing": true,
        "bServerSide": true,
        "ajax": {
            "url": mainUrl,
        },
        'rowId': 1,
        "pagingType": "full_numbers",
        destroy: true,
    });

我不想编辑 Django 数据表库。

4

1 回答 1

1

根据我的理解,我认为您正在尝试提供类似 S.No. 的东西。rowId以任何目的的形式送到你的桌子上。

可能需要类似 python 的东西enumerate来实现这一点,在这种情况下,您可以在 django 模板中使用 forloop 计数器,有多种变体可用,如下所示 在此处输入图像描述

仅供参考,以下是如何在js 文件的_columns变量循环中使用它for

let _columns= [
    {% for field in list_fields %}
        { "data": '{{ field }}', "rowId": '{{forloop.counter}}' },
    {% endfor %}
]

同样,它也可以在您的表中使用。

我强烈建议您查看官方的 django 模板 forloop 文档。

于 2021-01-17T19:11:10.293 回答