我有一个Flask应用程序,并在某些时候构造一个复杂的查询并显示带有数据表的结果。这工作正常,但我有一个非常大量的行,所以它需要很长时间来呈现它。我发现我应该为数据表实现端服务器处理,但我无法弄清楚。到目前为止,我发送数据的列表,从蟒蛇到模板是这样的:使用sqlite在python中实现数据表的服务器端处理
return render_template('show_entries.html', entries=meas[0])
其中“MEAS [0]”包含的SQLite从查询检索的数据。 在“show_entries.html”,我绘制的表格是这样的:
<table id="myTable" class="table table-striped" style="width:100%" >
<thead>
<tr>
<th>Time</th>
<th>Mean Current</th>
<th>Vapour Pressure</th>
<th>Mean Voltage</th>
<th>Temperature</th>
<th>Humidity</th>
<th>Bar Pressure</th>
<th>RPM</th>
<th>Wind Sector</th>
<th>Wind Speed</th>
<th>Air Density</th>
<th>DC Voltage</th>
<th>Power Sector</th>
<th>Furling Angle</th>
<th>Yaw Angle</th>
</tr>
</thead>
<tbody>
{% for row in entries %}
<tr>
<td>{{ row[1] }}</td>
<td>{{ row[2] }}</td>
<td>{{ row[3] }}</td>
<td>{{ row[4] }}</td>
<td>{{ row[5] }}</td>
<td>{{ row[6] }}</td>
<td>{{ row[7] }}</td>
<td>{{ row[8] }}</td>
<td>{{ row[9] }}</td>
<td>{{ row[10] }}</td>
<td>{{ row[11] }}</td>
<td>{{ row[12] }}</td>
<td>{{ row[13] }}</td>
<td>{{ row[14] }}</td>
<td>{{ row[15] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
和数据表的JavaScript:
<script>
$(document).ready(function(){
$('#myTable').dataTable();
});
</script>
正如我刚才所说,它正确地显示数据,但需要很长所以我问是否有人在类似的情况下让服务器端工作,因为我已经尝试了一些我在数据表文档中找到的示例,但是我远不及它。
从用户界面和性能角度来看,在页面上放置一张巨大的表格通常是一个糟糕的主意。分页或做其他事情。页面上的信息过多只会让人不知所措,并且需要很长时间才能加载。 – reptilicus