hmp*_*hmp 6 django progress-bar
我有一个管理员控制的功能(导入数据库),可能需要一些时间才能完成,所以我想在此期间向用户显示一些反馈 - 例如进度条,或者只是一些消息.即使在长时间操作期间分批发送页面也足够了.
在Django中最简单的方法是什么?
Dan*_*man 1
如果没有某种客户端脚本(即 Ajax),就无法做到这一点。您需要能够定期轮询服务器并向用户显示响应的东西。有一个片段展示了如何完成此操作。
当然,为了实现这一点,您还必须将导入本身转移到离线流程中。这将执行导入,并定期在某个地方(在文件或数据库中)记录其进度,以便 Ajax 可以查询它。执行此操作的一个好方法可能是使用基于 Django 的分布式任务队列celery 。
最后,您需要一个 Ajax 将调用的简单视图,它将查询长时间运行的进程(或查看它创建的进度记录)并向客户端报告。
所以,相当复杂。
归档时间:
16 年,4 月 前
查看次数:
3781 次
最近记录: