Django - 将功能划分为应用程序

时间:2011-07-15 03:07:15

标签: django

我正在研究我的项目功能的一部分,我正在努力将我的项目分解为专注的应用程序(而不是一个单一的应用程序,它完成所有这些)。经过一些谷歌搜索,我想保持每个应用程序紧张和专注。但是,我并不确定分割代码的最佳方法。

整体功能有三个基本组成部分:

  1. 员工及其相关信息。
  2. 证书/员工培训和证书信息。基本上不同类型的培训员工可以接收和关联信息。
  3. 员工认证(将证书与员工联系起来)。
  4. 我有三个主要模型:员工,证书和认证(与员工和证书共享关系)。

    我可以把所有三个都放到一个应用程序中,因为所有三个目标都有些相关,或者,我可以把工作分开。在后者中,三个中的两个很容易:员工和证书都可以在没有另一个的情况下存在,并且拥有自己的应用程序,但是证书我不太确定。

    我可以:

    1. 员工或证书应用程序中的捆绑认证
    2. 为自己的应用提供认证
    3. 你说什么?这种情况是否需要多个应用程序?如果是这样,那么应该如何划分三个功能要求以保持每个功能的紧密和集中?

2 个答案:

答案 0 :(得分:2)

我会将它们全部保存在一个应用程序中。应用程序(个人)对我来说太简单了。我会利用django.contrib.auth.models.Users并在一个看起来像这样的结构中构建它。

Model Diagram

要利用用户结构,您需要扩展用户模型。 Stackoverflow回复here和官方文档here

HTH

答案 1 :(得分:2)

我建议将它们保存在一个应用程序中:所以你的所有模型都会进入一个models.py, 而且有多个views.py(比如每个功能单元)。 这样,您可以轻松管理模型,并根据需要点击正确的视图文件。

在这种情况下保留多个应用程序将是一种矫枉过正,因为功能之间没有明确的界限。