Django中还有其他管理应用模块吗?



一个典型的应用程序是这样的:

myapp/
├── forms.py
├── __init__.py
├── management
│   ├── commands
│   │   ├── __init__.py
│   │   └── my_command.py
│   └── __init__.py
├── models.py
├── tests.py
├── urls.py
└── views.py

.management.commands是django强制的管理命令标准,但为什么它这么深?还有其他类型的.management模块吗?

这就是Django检测自定义管理命令的方式。在这里查看get_commands()的源代码。

返回一个字典,将命令名映射到它们的回调应用程序。这是通过在django中查找一个management.commands包来实现的。核心,在每个已安装的应用程序中——如果存在命令包,则所有命令在那个包裹里都是挂号的。核心命令总是包含在内的。如果设置模块已经指定的、用户定义的命令也将包括在内。

最新更新