在将Django与Celery一起使用时,为什么在导入任务时必须输入项目名称?

时间:2010-10-06 03:44:50

标签: python django rabbitmq celery

我刚刚用RabbitMQ为Django项目安装和配置了Celery,当我像这样导入任务时遇到了运行任务的问题:

from someapp.tasks import SomeTask

当我添加项目名称时,它有效:

from myproject.someapp.tasks import SomeTask

我尝试将其添加到settings.py文件中,但它不会改变任何内容:

CELERY_IMPORTS = ("myproject.someapp.tasks",)

我很好将项目名称留在导入行,因为它有效,但我想知道是否有解决方法或为什么必须这样。

1 个答案:

答案 0 :(得分:1)

可能是因为你有

INSTALLED_APPS = ("myproject.someapp", )

相反,您应该在Python路径中添加包含应用程序的目录(项目中的 这种情况),只需做

INSTALLED_APPS = ("someapp", )

恕我直言,无论如何这对“app”更有意义。