【发布时间】:2017-01-03 15:28:03
【问题描述】:
当您忙于开发应用程序时,有时很容易忘乎所以地编写许多模型,有些相关。然后,问题是如何在给定所有模型的情况下布局网站。假设您有以下模型:
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
如果是前者,那么应该如何使用元 settings.py 来指定 ROOT_URLCONF 和 settings.py 通常负责的所有其他设置(数据库路由等)
除了 Django 文档,我发现 Django tips: layout out an application 有用(但不足)的读数。
【问题讨论】:
-
您的项目架构是一个让您的项目易于管理的工具。最有效的方法取决于项目和您/您的团队的工作流程和偏好。如果不详细了解您的项目和组织,几乎可以说这不是完全基于意见的。
标签: django django-apps