我一直在做我的一个项目,在它的一个功能中,我们从数据库中检索数据,并将其写入Blob实例,然后让用户可以下载。但由于数据非常非常大,比如.JSON文件中的15k多个页面,有8000000个单词。给出了用于向该文件写入数据的代码片段。请建议其他优雅快捷的方式,因为这需要太多时间,而且会让机器冷冻一段时间。
function bulk_download_json(label_id) {
$.msg({
//autoUnblock : false,
clickUnblock : false,
beforeUnblock: function() {
$.ajax({
type: "GET",
url: "/initiate_download/?label=" + label_id,
success: function(data) {
var bulk_mails = data;
bulk_download_filename = label_id.concat(".json");
var bulk_json_file = JSON.stringify(bulk_mails);
var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(new Blob([bulk_json_file], {
type: 'text/json'
}));
a.download = bulk_download_filename;
// Append anchor to body.
document.body.appendChild(a)
a.click();
// Remove anchor from body
document.body.removeChild(a)
remove_bulk_data(label_id);
}
});
//self.unblock();
}
});
}
您可以使用分页,在这里您将传递page_no和提取记录的限制
[参考]https://docs.djangoproject.com/en/1.8/topics/pagination/