我怎样才能显示请稍等从 django 视图加载消息?
我有一个 Django 视图,需要花费大量时间对大型数据集执行计算。
当进程加载时,我想向用户呈现一条反馈消息,例如:旋转加载动画 gif 或类似消息。
在尝试了布兰登和穆拉特提出的两种不同方法之后,布兰登的建议被证明是最成功的。
创建一个包含 javascript 的包装模板http://djangosnippets.org/snippets/679/ http://djangosnippets.org/snippets/679/。 javascript 已被修改:(i) 无需表单即可工作 (ii) 当返回“完成”标志时隐藏进度条/显示结果 (iii) JSON 更新 url 指向下面描述的视图
将慢加载函数移至线程。该线程将传递一个缓存键,并负责更新缓存的进度状态及其结果。该线程将原始模板渲染为字符串并将其保存到缓存中。
创建一个基于 upload_progress 的视图http://djangosnippets.org/snippets/678/ http://djangosnippets.org/snippets/678/修改为(i)如果progress_id=''则渲染原始包装模板(ii)生成cache_key,检查缓存是否已存在,如果不存在则启动一个新线程(iii)监视线程的进度,完成后,通过结果到包装模板
包装模板通过以下方式显示结果document.getElementById('main').innerHTML=data.result
(* 查看步骤 4 是否可以通过重定向更好地实现,因为呈现的模板包含当前未运行的 javascriptdocument.getElementById('main').innerHTML=data.result
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)