任何人都可以推荐一篇很好的指南/教程/文章,其中包含如何组织和划分大型Django项目的提示/指南?
当您需要开始分解初始的唯一文件(mods.py、urls.py、views.py)并处理几十个以上的实体时,我正在寻找有关如何做的建议.
任何人都可以推荐一篇很好的指南/教程/文章,其中包含如何组织和划分大型Django项目的提示/指南?
当您需要开始分解初始的唯一文件(mods.py、urls.py、views.py)并处理几十个以上的实体时,我正在寻找有关如何做的建议.
每个"应用程序"都应该很小——一个可重用的实体加上几个相关的表.每个应用模型大约有5个正负2个表.我们的六个应用程序中,大多数都小于5个表.其中一个模型中没有表.
每个应用程序都应该被设计成一个可重用的概念.在我们的示例中,每个应用程序都是整个站点的一部分;可以单独删除和替换这些应用程序.
事实上,这就是我们的战略.随着我们需求的扩展和成熟,我们可以彼此独立地删除和替换应用程序.
应用程序相互依赖是可以接受的.但是,依赖关系必须限制在"模型"和"形式"等显而易见的东西上.此外,应用程序可以依赖于彼此URL中的名称.因此,您的命名URL必须具有类似于"application-view"的形式,这样reverse
函数或{% url %}
标记才能正确地找到它们.
每个应用程序都应该包含自己的批处理命令(通常通过django-admin
脚本中的正式命令).
最后,任何比共享的简单模型或表单更复杂的东西都可能不属于这两个应用程序,而需要是单独的共享库.例如,我们使用XLRD,但是将其部分包装在我们自己的类中,因此它更像内置的csv
模块.XLRD的这个包装器不是任何一个应用程序的适当部分,因为它是Django应用程序之外的一个单独模块.