【问题标题】:Django Management Command ImportErrorDjango 管理命令 ImportError
【发布时间】:2012-01-27 11:50:02
【问题描述】:

我在将模块导入我的qsl/management/commands/<customcommand>.py 文件时遇到问题。 事实上,我的应用结构是:

qsl/management/commands/ : dir for my management commands
qsl/management/jobs/ : dir for my mangement jobs

jobs 是包含我想在相应命令中完成的工作的 python 类

例如:

news command in qsl/management/commands/ imports news job in qsl/management/jobs/

我想执行python manage.py news 时的错误是importerror : no module named management.jobs.news

【问题讨论】:

    标签: python django importerror pythonpath


    【解决方案1】:

    确保所有文件夹中都有__init__.py,以便它们可以作为模块导入。 结构描述在这里:https://docs.djangoproject.com/en/dev/howto/custom-management-commands/

    你的结构是这样的:

    qsl/
        __init__.py
        models.py
        management/
            __init__.py
            commands/
                __init__.py
                news.py
        jobs/
            __init__.py
            news.py
        tests.py
        views.py
    

    【讨论】:

    • 谢谢,是的,就是这里的结构。所有文件夹都有一个 init.py by
    • 如果答案解决了您的问题,您应该通过单击左侧的勾号将其标记为最佳答案...
    • 不,我只是回答你的问题。但问题依然存在!
    • 不,您的回答对我没有帮助。所有文件夹都已经有 init.py 文件。
    【解决方案2】:

    如果不是文件/目录结构中的拼写错误,那么也许您正在安装 pip 并遇到问题?

    在您的setup.py 下的packages=[] 中确保包含

    qsl.managementqsl.management.commands。这为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2012-06-29
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 2012-05-04
      • 1970-01-01
      • 2012-12-28
      • 2012-05-13
      相关资源
      最近更新 更多