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

时间:2016-06-16 06:36:07

标签: javascript django django-tables2

表类:

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=())

将表对象发送到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>

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

1 个答案:

答案 0 :(得分:0)

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

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