Django站点架构



当你忙于开发一个应用程序时,有时很容易忘乎所以,编写许多模型,有些相关。然后,问题是如何在给定所有模型的情况下布局网站。假设您有以下型号:

models: M1, M2, ..., M60

然后你会意识到你可以将它们划分为应用程序:

apps: AP1, AP2, ..., AP12

然后,过一段时间,你可能会意识到你有不同的项目,有不同的数据库、商业逻辑、目标受众等(例如,一个网站下有住宿、滑雪、设备租赁、电子商务等)

projects: P1, P2, P3

问题是,在一个项目中拥有语义无关的应用程序,还是在单独的项目下拥有与组相关的应用程序更好?

Site
|
P1 - P2 - P3
|    ...
----------------
|    |    |    |
AP1  AP2  AP3  AP4
|    ...
---------------------
|    |    |    |    |
M1   M2   M3   M4   M5

或:

Site
|
Solo_Project
|
----------------
|    |    |    |
AP1  AP2  AP3  AP4
|    ...
---------------------
|    |    |    |    |
M1   M2   M3   M4   M5

如果是前者,那么应该如何使用元设置.py来指定ROOT_URLCONF和设置.py通常负责的所有其他设置(数据库路由等)

除了Django文档,我还发现了Django技巧:布局一个有用(但不够)的应用程序。

它非常主观。

我认为我的规则是,如果它提供了一组可以独立于其他部分使用的功能,那么就把它放在一个单独的应用程序中。

我以前的一个项目有一个大应用程序(加上我作为一个单独的应用程序添加的购物车类型的功能)。我曾想过将主应用程序拆分,但很多查询和视图都使用了所有的表,所以最终我决定将其作为一个大型应用程序更有意义,而不是将其拆分为多个功能上没有明确区别的应用程序。

相关内容

  • 没有找到相关文章

最新更新