繁体   English   中英

如何在多个应用程序中编写自定义django manage.py命令

[英]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

您也可能从managementcommands文件夹中缺少__init__.py文件(python模块中需要这些文件)。

或者,(抱歉这样说)你可能有拼写错误的“管理”或“命令”,甚至是你正在运行的命令的名称。

最有可能的是,您没有在settings.py中包含应用B.

如果你只运行没有指定命令的python manage.py ,它将打印Django可以找到的命令列表。

这可以帮助排除拼写错误的命令名称,但不回答您是否进行managementcommands两个包,或者应用程序B是否未在您的settings.INSTALLED_APPS列出的问题settings.INSTALLED_APPS

看起来您还没有在我们的settings.py中的INSTALLED_APPS中注册您的应用B. 您还需要在两个文件夹( 管理命令 )中添加__init__.py文件,以使其成为一个包。 确保您正确拼写文件夹名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM