在Django框架中借助Celery创建一个进度条,显示复制文件的进度

时间:2018-11-08 11:17:29

标签: javascript html django progress-bar celery

通常来说,我需要创建一个带有进度条的html页面,其中显示了用户按下“ DO”按钮后文件复制的进度。

以下是我所做并尝试过的事情:

  1. 以下是ml中的“进度条”元素:

    Copying progress:
    <progress id = "progressCopy" value="0" max="100">
    </progress>

  2. 下面,在名为“复制”的Celery任务中,我使用JSON格式的变量“ progressPercentage”更新了任务状态。

    self.update_state(state ='PROGRESS',meta = {'percentage':progressPercentage})

  3. 问题是,我应该如何在HTML中进行编码,以使Progress bar元素更新为从函数返回的JSON数据(如上所示),而无需刷新页面。这里的关键是:如何将JSON数据从被调用函数返回到Javascript。 我在下面尝试过这样的事情:

    返回HttpResponse(Celery.AsyncResult(copying.request.id))

但似乎不正确。

0 个答案:

没有答案