我有一个管理控制功能(导入数据库)可能需要一些时间来完成,所以我想表明在此期间一些反馈给用户 - 例如一个进度条,或者只是一些消息。即使在漫长的行动中发送页面也是足够的。Django的 - 显示操作进度
在Django中最简单的方法是什么?
我有一个管理控制功能(导入数据库)可能需要一些时间来完成,所以我想表明在此期间一些反馈给用户 - 例如一个进度条,或者只是一些消息。即使在漫长的行动中发送页面也是足够的。Django的 - 显示操作进度
在Django中最简单的方法是什么?
Ajax轮询 - 使用客户端计时器,您不断查询服务器的状态。该过程如下所示:用户配置数据库详细信息并点击“上传”。文件传输和页面请求在服务器上启动一个异步进程以执行数据库导入。当用户点击上传时,它启动一个客户端定时器,定时器会定期向服务器发送一个AJAX请求,以询问它的进度。服务器返回JSON,客户端脚本会计算出它想要做什么。
COMET - 我不熟悉这一点,但传统的AJAX的工作原理是在客户端发送到服务器的请求。它被称为“拉”通信。在COMET中,这是推动。即使服务器没有要求,服务器也会将数据推回给客户端。这造成了服务器上比轮询更少的情况。 Google为使用COMET with Django的人提供了一些结果。
反向AJAX - 彗星相似。 Reverse Ajax with Django。
(我道歉,我知道至少约过去2,但我想你至少要知道它们的存在)
为什么没有进步吧?..你可以详细一点,请? – 0100110010101 2009-10-10 20:02:08
进度条也可以,但我不知道如何从执行动作的函数中控制它 – hmp 2009-10-10 20:17:23