第一次加载我的页面时,表生成如下(我迭代blocks
作为请求的一部分传递):
<div class="container">
<table class="table table-striped">
<thead>
<tr>
<th>Index</th>
<th>Previous Hash</th>
<th>Timestamp</th>
<th>Data</th>
<th>Hash</th>
</tr>
</thead>
<tbody>
{% for block in blocks %}
<tr>
<th scope="row">{{block.index}}</th>
<td>{{block.previous_hash[0:10]}}</td>
<td>{{block.timestamp}}</td>
<td>{{block.data}}</td>
<td>{{block.hash[0:10]}}</td>
</tr>
{% else %}
<li><em>Unbelievable. No entries here so far</em>
{% endfor %}
</tbody>
</table>
</div>
现在我希望重新加载该表而不在jquery函数中刷新页面。我怎么做?
P.S。 我没有更新文本字段等简单元素的问题:
$('#banner').text('new banner text')
但是这个表格令人困惑。
答案 0 :(得分:0)
这取决于你想如何处理这个问题。 一种方法是使视图返回包含表数据的html页面:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "iDocs.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
您使用以下内容发送数据:
<tr>
<th scope="row">{{block.index}}</th>
<td>{{block.previous_hash[0:10]}}</td>
<td>{{block.timestamp}}</td>
<td>{{block.data}}</td>
<td>{{block.hash[0:10]}}</td>
</tr>
然后,您可以使用您的jquery代码更新表并将新行追加到它。
其他方式是一遍又一遍地获取整个表,新数据被抛出。顺便说一下,我会使用第一种方式。