Django: "projects" vs "apps"

10 浏览
0 Comments

Django: "projects" vs "apps"

我准备使用Django构建一个相当复杂的“产品”。我将在此上下文中避免使用“项目”和“应用程序”这些术语,因为我不清楚它们在Django中的具体含义。

项目可以有多个应用程序。应用程序可以在多个项目之间共享。不错。

我不再重复发明博客或论坛了-我不认为我的产品的任何部分可以在任何上下文中重复使用。直观地,我会称这为一个“应用程序”。那么我是否要在单个“app”文件夹中完成所有工作呢?

如果是这样...就在Django的project.app命名空间方面,我的倾向是使用myproduct.myproduct,但当然这是不允许的(但我正在构建的应用程序是我的项目,我的项目是一个应用程序!)。因此,我认为也许我应该通过为每个“重要”模型构建一个应用程序来处理Django,但是我不知道在我的架构中如何界定界限以将其分为应用程序-我有许多具有相对复杂关系的模型。

我希望有一个通用的解决方案...

admin 更改状态以发布 2023年5月23日
0
0 Comments

试着回答问题:"我的应用程序做什么?"。如果你不能用一句话回答,那么也许你可以将其分成几个逻辑更清晰的应用程序。

我在开始使用Django不久之后就在某个地方读到了这个想法,我发现我经常问自己这个问题,这对我有所帮助。

你的应用程序不一定要可重用,它们可以相互依赖,但它们应该只做一件事情。

0
0 Comments

一旦你从 startprojectstartapp 过渡到更高级的使用,就能在同一个 Python 包中组合一个“项目”和“应用程序”了。项目实际上不过是一个 settings 模块,而应用程序实际上不过是一个 models 模块——其他所有内容都是可选的。

对于小网站来说,有像下面这样的东西是完全合理的:

site/
    models.py
    settings.py
    tests.py
    urls.py
    views.py

0