首页 文章

Django:无法运行自定义命令

提问于
浏览
9

我写了一个简单的自定义命令hello.py:

from django.core.management.base import NoArgsCommand

class Command(NoArgsCommand):
    help = "prints hello world"

    def handle_noargs(self, **options):
        print "Hello, World!"

当我运行python manage.py hello时它返回

未知命令:'你好'

  • 我把它放在我的应用程序下面的管理/命令目录中 .

  • 我已将__init__.py文件添加到管理和命令目录中 .

  • 我已经在settings.py中检查了我的应用是否在INSTALLED_APPS中

  • 我已尝试在不同的应用程序和项目根目录中安装它

运行python manage.py syncdb等没问题 . 如果我在命令行输入python,我可以导入django.core.management ok .

我知道我错过了一些明显的东西,但无法弄清楚是什么 .

我该怎么调试这个来解决为什么我的自定义命令不能运行?

2 回答

  • -1

    问题是我在PYTHONPATH上有另一个项目 . D'哦!我认为它首先从那里拿起settings.py所以没有看到我的应用程序 . 我指向这个方向的是我尝试运行python manage.py create_jobs myapp(来自django命令扩展),它返回一个错误,指示无法找到应用程序 . 另外@knutin提到了INSTALLED_APPS .

  • 6

    这是因为 __init__.pyc 不会在"management"和"commands"文件夹中自动创建 . 复制 your_app/__init__.pyyour_app/__init__.pyc 并将其粘贴到management /和commands /文件夹中 .

相关问题