【发布时间】:2021-12-27 08:33:02
【问题描述】:
我使用 Django 作为后端,我使用 Datatable 库来显示大量记录(大约 100 万条记录)。我正在尝试以这样的方式设置数据表 每次从后端获取 25 条记录并且当用户单击下一页按钮时,另一个 ajax 调用会获取接下来的 25 条记录,依此类推。
但我无法设置这些。
我的数据表初始化:
$("#company-table").DataTable({
"processing": true,
"serverSide": true,
"bDestroy": true,
ajax: {
type: "POST",
url: "/get_results/",
headers: {
"X-CSRFToken": getCookie("csrftoken"),
},
data: {
...other data params...
page:$("#company-table").DataTable().page()
},
},
columns: [
...populating columns...
],
});
我的 views.py 看起来像这样(据我所知,这是完全错误的):
#filtered_queryset contains all the records.
paginator = Paginator(filtered_queryset, 25) # Show 25 contacts per page.
page_number = request.POST.get('page')
start = request.POST.get('start')
length = request.POST.get('length')
page_obj = paginator.get_page(page_number)
data = list(page_obj.object_list.values())
return_data = {"data": data}
json_data = json.dumps(return_data,indent=4, sort_keys=True, default=str)
return HttpResponse (json_data, content_type = "application/json")
谁能帮帮我?还是只是将我推向正确的方向?
【问题讨论】:
标签: django datatable pagination