Django应用程序分解建议

时间:2016-08-31 15:57:17

标签: python django

我是具有一定经验的Django开发人员。我熟悉不同的最佳实践和有争议的观点。

最近,在一个项目上工作的时候,当我遇到一个巨大的现有应用程序时,我挣扎了一段时间。问题尚未解决,我仍在思考。

问题本身:项目有一个巨大的应用程序,让它命名为"目录"。该应用程序很大,可用于多种用途:

1)提供整个项目的基本内容类型

2)提供一些帮助结构实体(如,类别,属性等)

3)处理用户区仪表板视图。

4)处理基本的前端公众观点。

5)处理搜索。

我真的不喜欢现在有多大。在考虑可能的分解方式时,我提出了多种变体。最有可能的是,这样做是最好的: 我可以创建 信息中心应用 搜索应用 前端功能应用< / em> (用于显示公共内容)。

现在最大的阻碍是模型层。问题是,上面提到的所有可能的应用程序都依赖于相同的模型。在我看来,将这些模型放在上面的某些应用程序中并将其他模型留在没有模型的情况下是错误的,因为它在所提到的模型应该存在的地方并不明显。

在我看来,可能的解决方案是创建一个单独的应用程序,例如&#34;内容类型&#34;或类似的东西,我应该把这些模型。但如果我这样做,我会提出以下应用程序:

1)除了提供模型和管理员之外什么也不做。 2)没有模型且仅提供功能(视图等)的应用程序

所以,基本上,我迷失了,因为我不确定什么都不做的应用程序有权独立生活(而第二点或多或少可以想象)。

任何人都可以请给我一些建议,我应该如何分解我的应用程序仍然遵循django-development的开发方式并拥有一个很好的结构?我怀疑由于db-layer的错误设计而出现的问题。但是,不幸的是,现在保存起来已经太晚了,我必须至少在其他部分做到最好。

0 个答案:

没有答案