【问题标题】:Celery-Progress-Bar Not Working in DjangoCelery-Progress-Bar 在 Django 中不起作用
【发布时间】:2019-03-27 00:27:54
【问题描述】:

我正在尝试使用 celery-progress 模块向用户显示任务的进度,因为完成任务需要大量时间。但是,按照https://github.com/czue/celery-progress 上的说明进行操作后,我在前端看到以下错误:-

NoReverseMatch at /netadc/arista/views/getFabListArista/TRCW/ Reverse for 'task_status' with arguments '('',)' not found. 1 pattern(s) tried: [u'celery_progress/(?P<task_id>[\\w-]+)/$'] Request Method: GET Request URL: http://x.x.x.x/netadc/arista/views/getFabListArista/TRCW/ Django Version: 1.11 Exception Type: NoReverseMatch Exception Value:
Reverse for 'task_status' with arguments '('',)' not found. 1 pattern(s) tried: [u'celery_progress/(?P<task_id>[\\w-]+)/$']

前端 var progressUrl = "{% url 'celery_progress:task_status' task_id %}"; 上的 URL 模式不起作用。 当我将其更改为 var progressUrl = "{% url 'celery_progress:task_status' 'task_id' %}"; 时,我没有收到错误消息,但没有任务正在运行。

请有 django/python 方面的高手帮忙。

【问题讨论】:

    标签: python django progress-bar celery django-celery


    【解决方案1】:

    在这里查看:https://github.com/czue/celery-progress/issues/27

    这意味着任务 ID 为空白。解决它的最佳方法是尝试找出它为什么是空白的。这可能是因为您的后端未正确配置,因此未从异步调用分配/返回 ID,因为您没有将其正确地从视图传递到模板,因为您在模板中引用了错误的变量等。

    我建议您深入了解 ID 为何为空白的原因,这有望引导您找到适当的解决方案。

    【讨论】:

      【解决方案2】:

      您必须将 celery_progress 的 url 映射添加到您的主 urls.py。项目自述文件的先决条件部分对此进行了描述。

      【讨论】:

      • 我已经在里面了。 url(r'^celery_progress/', 包括('celery_progress.urls')),
      猜你喜欢
      • 2021-09-07
      • 2018-11-12
      • 2012-12-20
      • 2018-09-17
      • 1970-01-01
      • 2017-09-29
      • 2019-04-07
      • 2014-11-24
      相关资源
      最近更新 更多