使用 Django-tables2 时,有没有办法从 HTML 动态生成 table 和客户端获取所有数据?

When using Django-tables2, Is there a way to get all the data from the HTML generated table dynamically and client side?

table class:

class TablaLechos(tables.Table):
    lecho_no = tables.Column(empty_values=())
    distancia = InputColumn(empty_values=())
    varilla_no = InputColumn(empty_values=())
    area_varilla = tables.Column(default="-")
    varillas_en_lecho = InputColumn(empty_values=())

将 table 对象发送到 html 文件的视图:

def index(request):
    """The home page of diseno_columnas"""
    tabla = TablaLechos([{} for n in range(10)]) # Empty dict for 10 rows.
    context = {'tabla': tabla}
    return render(request=request, template_name='diseno_columnas/index.html', context=context)

在 html 文件中:

{% render_table tabla %}
<button type="button" name="button" class="btn btn-primary" onClick="methodThatNeedsTheData()">Graph!</button>

该应用旨在根据 table 的数据输入在 html canvas 元素上绘制图表。每次按下按钮时,该按钮将使用 JS 和实际 table 值重绘。

目前,没有标准的方法可以做到这一点。一个可能的解决方案可能是将您传递给 table 的数据转换为 JSON,将其添加到上下文中,并通过在您的模板中输出它使其可用于您的 javascript 函数。

另一种选择是使用 javascript 从您刚刚渲染的 table 中获取值。由于您似乎有输入字段,用户可以更改这些字段并且按钮有文本 'Graph' 这可能是您用例的更好解决方案:图形将反映 [=18= 中的当前数据],而不是呈现页面时 table 中存在的初始数据。