使用 Django 中的顶级模块和子模块有什么区别 - "python manage.py startapp polls"



我遵循了Django的投票教程,今天开始了我自己的兴趣项目。在创建应用程序时,下面的内容真的让我很困惑——

你的应用程序可以驻留在Python路径的任何位置。在本教程中,我们将在与manage.py文件相同的目录中创建我们的投票应用程序,以便它可以作为自己的顶级模块导入,而不是作为mysite的子模块。

所以我的问题是-顶层模块与我的项目子模块之间的区别是什么?

我怎么决定选哪一个呢?

任何帮助将非常感激,因为我是一个菜鸟编码工作在我的第一个爱好项目lol。

除了口味、组织和命名之外,没有其他真正的区别。

为了它的价值,我用了10多年的Django,我通常还是喜欢让应用程序包和项目包并行(也就是那篇文章所建议的)。

(对于一些非常核心的模型,如自定义用户等,有时也可以方便地将项目包制作为应用程序)

在某些情况下,将相互关联的应用程序打包是有意义的,但这些通常用于可重用的应用程序,如allauth等。