13

为什么管理命令不在自己的应用级文件夹中?是否有其他项目可以添加到管理目录中,或者这种结构纯粹是退化的?

4

3 回答 3

4

我不知道历史,但对我来说似乎是半遗迹。至于其他可以放在管理目录中的东西,上面关于信号的评论暗示了一个答案。

在尝试回答此类问题时,我做的一件事是查看 contrib 应用程序以了解它们的作用。一些有趣的地方被发现:

请注意,在第二个中,管理模块是一个 .py 文件而不是一个目录。

于 2011-05-13T16:26:54.480 回答
3

需要放置在management模块中的另一件事(在management/__init__.py或中management.py)是django.db.models.signals.post_sync信号的任何侦听器。

于 2011-04-29T20:14:40.857 回答
-2

它是 django 总体设计的骨架。几乎每个项目都会包含多个应用程序,因此该项目实际上是一个具有共享配置的应用程序容器。

您可以将其他项目添加到项目级文件夹,但设计建议只应使用高级跨应用项目。示例是 url 和设置。

于 2011-05-02T06:08:40.783 回答