Создайте индикатор выполнения, показывающий процесс копирования файлов, с помощью Celery в Django framework. - PullRequest
0 голосов
/ 08 ноября 2018

Вообще говоря, мне нужно создать html-страницу с индикатором выполнения, показывающим ход копирования файла после того, как пользователь нажал кнопку «DO».

Вот что я сделал и попробовал:

  1. Ниже приведен элемент "индикатор выполнения" в них:

    Copying progress:
    <progress id = "progressCopy" value="0" max="100">
    </progress>
  2. Ниже, в задаче Celery с именем «copying», я обновляю статус задачи с помощью переменной «progressPercentage» в формате JSON.

    self.update_state (state = 'PROGRESS', meta = { 'Процент': progressPercentage})

  3. Итак, вопрос в том, как мне кодировать в HTML, чтобы обновлять элемент панели Progress, возвращая данные JSON (показанные выше) из функции, не обновляя страницу. Ключ здесь: как вернуть данные JSON из вызываемой функции в Javascript. Я попробовал что-то вроде этого ниже:

    return HttpResponse (Celery.AsyncResult (copying.request.id))

Но, похоже, это не правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...