![](/img/trans.png)
[英]Can Django manage.py custom commands return a value? How, or why not?
[英]How to write custom django manage.py commands in multiple apps
想象一下,我在我的Django项目两个或更多的应用程序,我是能够成功地写时,我只有一个应用程序,执行自定义manage.py命令A
。
现在我有一个新的应用程序, B
,并在https://docs.djangoproject.com/en/dev/howto/custom-management-commands/中提到我创建了B/manangement/commands
目录结构并编写了一个自定义模块。
当我运行python manage.py时,它一直在抱怨Unknown command
。 但是,如果我将此命令移动到其他应用程序,即文件夹A/management/commands
然后运行python manage.py <command>
,它将无缝地工作。
知道如何解决这个问题吗?
正如@Babu在评论中所说,看起来您可能没有将您的应用添加到settings.py
INSTALLED_APPS
。
您也可能从management
和commands
文件夹中缺少__init__.py
文件(python模块中需要这些文件)。
或者,(抱歉这样说)你可能有拼写错误的“管理”或“命令”,甚至是你正在运行的命令的名称。
最有可能的是,您没有在settings.py中包含应用B.
如果你只运行没有指定命令的python manage.py
,它将打印Django可以找到的命令列表。
这可以帮助排除拼写错误的命令名称,但不回答您是否进行management
和commands
两个包,或者应用程序B是否未在您的settings.INSTALLED_APPS
列出的问题settings.INSTALLED_APPS
看起来您还没有在我们的settings.py中的INSTALLED_APPS中注册您的应用B. 您还需要在两个文件夹( 管理和命令 )中添加__init__.py文件,以使其成为一个包。 确保您正确拼写文件夹名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.