我编写了一个简单的自定义命令 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 它返回
未知命令:“你好”
- 我已将其放在我的应用程序下的 management/commands 目录中。
- 我已将 __init__.py 文件添加到管理和命令目录中。
- 我检查过我的应用程序位于 settings.py 中的 INSTALLED_APPS 中
- 我也尝试过将其安装在不同的应用程序中并从项目根目录安装
运行 python manage.pysyncdb 等就可以了。如果我在命令行输入 python,我可以导入 django.core.management ok。
我知道我错过了一些明显的东西,但无法弄清楚是什么。
如何调试它以找出为什么我的自定义命令无法运行?
问题是我的 PYTHONPATH 上还有另一个项目。噢!我认为它首先从那里获取 settings.py 所以没有看到我的应用程序。向我指出这个方向的是我尝试运行 python manage.py create_jobs myapp (来自 django 命令扩展),它返回一个错误,指示无法找到该应用程序。 @knutin 还提到了 INSTALLED_APPS。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)