我正在使用Django创建我的第一个真正的网站,但我仍然在努力理解项目和应用程序之间的区别.
例如,我的网站是一个体育新闻网站,它将包含文章、排名表和"固定与结果"等部分,我的问题是,这些部分是否都应该在整个项目中的一个单独的应用程序中?这种情况下的最佳实践是什么?
我正在使用Django创建我的第一个真正的网站,但我仍然在努力理解项目和应用程序之间的区别.
例如,我的网站是一个体育新闻网站,它将包含文章、排名表和"固定与结果"等部分,我的问题是,这些部分是否都应该在整个项目中的一个单独的应用程序中?这种情况下的最佳实践是什么?
project是指整个应用程序及其所有部分.
app指的是项目的一个子模块.它是自给自足的,不会与项目中的其他应用程序交织在一起,因此,从理论上讲,你可以把它捡起来,然后放到另一个项目中,而不需要任何修改.app通常有自己的models.py(实际上可能是空的).您可能会认为它是一个独立的python模块.一个简单的项目可能只有一个应用程序.
例如,project是整个网站.你可以把它组织成一个app用于文章,一个app用于排名表,一个app用于固定装置和结果.如果他们需要彼此交互,他们可以通过有良好文档记录的公共类和访问器方法来实现.
要记住的主要事情是apps人之间的相互依赖程度.在实践中,这都是一个project,所以没有必要过火,但请记住这两个应用程序是如何相互依赖的.如果你发现一个应用解决了两个问题,把它们分成两个apply.如果你发现两个应用程序如此相互交织,你永远无法在没有另一个的情况下重用它们,那么将它们组合成一个应用程序.