在Django世界中,项目和应用之间有什么区别?
我正在使用Django创建我的第一个真实网站,但我仍在努力理解项目与应用之间的区别。
例如,我的网站是一个体育新闻网站,其中将包含文章,排名表和“灯具和结果”等栏目,我的问题是这些栏目中的每个栏目是否应位于整个项目中的单独应用程序中?在这种情况下的最佳做法是什么?
-
一个 项目 是指整个应用程序及其所有部件。
一个 应用程序
是指项目的子模块。它是自给自足的,并且不与项目中的其他应用程序交织在一起,因此,从理论上讲,您可以将其拾取并将其放到另一个项目中,而无需进行任何修改。一个
应用程序 通常具有自己的 models.py (实际上可能为空)。您可能将其视为独立的python模块。一个简单的项目可能只有一个应用程序。例如,该 项目 就是整个网站。所以还有一个你可能构建它 的应用程序 的文章,一个 应用程序 的排名表,以及 应用程序
的固定装置和结果。如果他们需要彼此交互,则可以通过有据可查的公共类和访问器方法来进行交互。要记住的主要事情是 应用程序 之间的这种相互依赖程度。在实践中,这都是一个 项目
,因此没有意义,但请记住两个应用程序是如何相互依赖的。如果您发现一个应用程序可以解决两个问题,请将它们拆分为两个应用程序。如果您发现两个应用程序如此交织在一起,那么您将永远无法重用另一个应用程序,请将它们组合成一个应用程序。