Django最佳实践:每个文件/目录结构的模型类数

时间:2011-07-07 19:51:42

标签: django

有经验的人的另一个最佳实践问题:你在一个文件中放了多少个模型?

我见过很多将所有模型类填充到单个“models.py”文件中的示例,这对我来说确实是错误的。在以前使用其他堆栈的项目中,我每个模型类都有一个文件。如何在Django中正确完成20个模型类的非平凡应用程序?目录结构是什么样的?

1 个答案:

答案 0 :(得分:12)

许多人,特别是那些来自Rails世界的人,都对术语“应用程序”感到厌倦,并开始将所有内容都扔进一个应用程序中。在Django中,一个应用程序是一个单独使用的模块,可以完成一件事并且做得很好。每个申请应该用一两句短句来描述。 “项目”是由设置文件统一的应用程序的集合。即使对于像在线商店那样复杂的东西,我现在发现的东西,在一个应用程序中有超过四个或五个模型是一个警告信号:store应用程序(有购物车)更好)依赖于product应用程序,而不是同一个应用程序中的应用程序。 invoicespayments也是如此,依此类推。

看一下Django in the Real World,Jacob Kaplan-Moss关于如何编写Django应用程序的演讲。

Django应用程序是封装:它描述了一个简单的对象(或对象集合)及其API。拥有20个模型听起来就像你没有一个干净的API,因此这个应用程序的功能是一个清晰的概念。

您想要的答案是“这取决于您的应用程序的功能。”为此,无论如何,地狱用20个模型的应用程序是什么?抓住你的重构的副本,玩得开心。