代码之家  ›  专栏  ›  技术社区  ›  knuckfubuck Marty

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

  •  1
  • knuckfubuck Marty  · 技术社区  · 14 年前

    我刚为Django项目安装并配置了带有rabbitmq的celery,当我像这样导入任务时,遇到了运行任务的问题:

    from someapp.tasks import SomeTask
    

    当我添加项目名称时,它起作用:

    from myproject.someapp.tasks import SomeTask
    

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

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

    我可以把项目名称留在进口线上,因为它是有效的,但我想知道是否有办法绕过它,或者为什么必须这样做。

    1 回复  |  直到 14 年前
        1
  •  1
  •   asksol    14 年前

    可能是因为你

    INSTALLED_APPS = ("myproject.someapp", )
    

    相反,您应该添加包含python路径上的应用程序的目录(中的项目 这个例子),然后简单地做

    INSTALLED_APPS = ("someapp", )
    

    imho不管怎样,这对“应用程序”来说更有意义。