【问题标题】:Two Django projects with common models and business logic两个具有通用模型和业务逻辑的 Django 项目
【发布时间】:2015-02-20 22:36:37
【问题描述】:

我有两个具有不同用例的 Django 项目。有到达使用不同的域。它们托管在两个不同的服务器中。此外,每个 Django 项目都有自己的数据库。

现在,这两个项目都有一些模型和一些共同的业务逻辑。我不想复制代码和数据,这将是混乱的未来。另外,我希望模型和代码(业务逻辑)保持同步(当模型/代码被更改时)。

谁能指导我找到一种可以帮助我实现所需架构的模式:2 个具有通用模型和业务逻辑的独立项目。

提前致谢。

【问题讨论】:

  • 如何创建另一个通过某种 api 与您的两个应用程序对话的服务?
  • @DRC 但这并不能解决代码和数据冗余的问题。

标签: django django-models architecture django-project-architect


【解决方案1】:

我以前做过。您必须将共享模型和业务移动到一个单独的目录中的新 python 包中(如果您可以创建一个封装这些模型的 django 应用程序会更好)。

将此目录添加到您的 python 路径(包含包的路径,而不是包本身),您应该能够在项目中使用此代码。

唯一的缺点是必须在您的服务器中配置 PYTHON_PATH 或必须手动将此包复制到您的运行时

【讨论】:

  • 有趣的解决方案。为所有通用代码、模型等创建一个单独的 django 项目/应用程序,然后在我的两个需要代码和模型的 django 项目中将其用作正常的导入或可重用应用程序怎么样?
  • 都是一样的,反正你必须把它添加到你的路径中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 2011-07-01
相关资源
最近更新 更多