我已经开始搜索,但我仍然无法解释Django定义为"应用程序"的问题.
我是否应该为站点中的每个功能创建一个新的应用程序,即使它使用主项目中的模型?
你们有什么经验法则可以解决何时拆分新应用,何时将功能与"主项目"或其他应用保持在一起?
James Bennett 有一套关于如何在Django中组织可重用应用程序的精彩幻灯片.
我更喜欢将Django应用程序视为可重用的模块或组件,而不是"应用程序".
这有助于我将某些功能彼此封装和分离,如果我决定与整个社区共享特定的"应用程序"和可维护性,则可以提高可重用性.
我的一般方法是将特定功能或功能集添加到"应用程序"中,就好像我要公开发布它们一样.这里的难点在于确定每个铲斗的大小.
我使用的一个好方法是想象如果我的应用程序是公开发布的,我将如何使用它们.这经常鼓励我缩小桶并更清楚地定义它的"目的".
以下是2008年9月6日的最新简报.
DjangoCon 2008:可重复使用的应用程序@ 7:53
幻灯片:Reusable_apps.pdf
取自幻灯片
这应该是它自己的应用吗?
它与应用程序的重点完全无关吗?
它与我正在做的其他事情正交吗?
我是否需要在其他网站上使用类似功能?
如果其中任何一个是"是"?然后最好将其分解为单独的应用程序.
我倾向于为每个逻辑上独立的模型创建新的应用程序.例如:
用户个人资料
论坛帖子
博客文章
我遵循的规则是,如果我想在不同的项目中重用该功能,它应该是一个新的应用程序.
如果需要深入了解项目中的模型,那么将其与模型结合起来可能更具凝聚力.