Django-使用Ajax重新加载数据表
Django - datatable reload with Ajax
我正在寻找用Ajax在Django中重新加载数据表的正确解决方案。
目前,它运行得很好,只有一个例外。表由引导程序自动分页。当Ajax重新加载表时,它会显示所有结果,而不会在页面上进行拆分。
orders_list.html:
<div id="DataTables_Table_0_wrapper" class="dataTables_wrapper no-footer">
<div class="datatable-scroll">
<table class="table datatable-basic dataTable table-striped no-footer" id="DataTables_Table_0" role="grid" aria-describedby="DataTables_Table_0_info">
<thead>
<tr role="row">
<th class="sorting_asc" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="" aria-sort="ascending">Nr.</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="">Data</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="">Przewoźnik</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="">Status</th>
<th class="text-center sorting_disabled" rowspan="1" colspan="1" aria-label="Akcje" style="width: 100px;">Akcje</th>
</tr>
</thead>
<tbody id="orders_table">
{% include "orders/orders_table.html" %}
</tbody>
</table>
</div>
</div>
orders_table.html:
{% for order in orders %}
<tr role="row">
<td class="sorting_1">{{ order.shop_order_id }}</td>
<td class="">
<span data-popup="tooltip" title="{{ order.date }}">
{{ order.date|date:"M d, Y" }}
</span>
</td>
<td>{{ order.carrier }}</td>
<td>
{% if order.packed %}
<span class="label bg-grey">
Spakowano
</span>
{% else %}
<span class="label label-info">
{{ order.status }}
</span>
{% endif %}
</td>
{% endfor %}
javascript:
setInterval(function(){
$.ajax({
url: '/Project/zamowienia/orders_test',
success: function(data) {
$('#orders_table').html(data);
}
});
}, 10000)
urls.py:
urlpatterns = [
url(r'^$', orders_list),
url(r'^orders_test$', orders_list_test),
]
视图:
def orders_list(request):
orders = Order.objects.all().order_by('-shop_order_id')
carriers = Carriers.objects.all().order_by('name')
statuses = Status.objects.all().order_by('name')
Status().import_status()
Order().import_orders()
return render(
request, 'orders/orders_list.html',
{
'namespace': 'Zamówienia',
'icon': 'credit-card',
'statuses': statuses,
'carriers': carriers,
'orders': orders
}
)
def orders_list_test(request):
orders = Order.objects.all().order_by('-shop_order_id')
return render(
request, 'orders/orders_table.html',
{
'orders': orders
}
)
很明显,使用table.draw():)。
相关文章:
- 在Moqui中,如何在html.ftl中加载数据库表数据作为下拉列表
- 数据表 AJAX 筛选器重新加载数据
- 无法使用JSON加载数据表
- 在onchange事件上加载数据表中的数据
- 将数据表.js样式应用于 AJAX 加载的表
- 如何正确加载数据表
- 重新加载数据表内容
- 如何使用 javascript 将数据加载到表单中
- 在加载数据表后触发 JavaScript 操作
- 禁用输入表单,直到加载数据
- 从表单保存和加载数据而不提交
- 是否可以使用 javascript 加载数据表
- 数据表插件异步加载数据
- 无法将 XML 数据加载到表标记 Html
- 将数据加载到表单生成器.js
- Django-使用Ajax重新加载数据表
- 如何使用jquery ajax重新加载数据表
- 保存和加载数据表的状态(即ColReorder, ColVis插件)到/从数据库
- 用c#动态加载数据表到JS数组
- 使用sequelize (javascript ORM)编辑、加载数据表而不删除数据表(mysql)