对于有经验的人来说,另一个最佳实践问题是:你会在一个文件中放置多少个模型?
我看到很多例子都把所有的模型类放到一个“models.py”文件中,但这真的让我感觉不对。在之前使用其他技术栈的项目中,我会为每个模型类创建一个单独的文件。在Django中,对于包含20个模型类的非平凡应用程序,正确的做法是什么?目录结构会是什么样子呢?
对于有经验的人来说,另一个最佳实践问题是:你会在一个文件中放置多少个模型?
我看到很多例子都把所有的模型类放到一个“models.py”文件中,但这真的让我感觉不对。在之前使用其他技术栈的项目中,我会为每个模型类创建一个单独的文件。在Django中,对于包含20个模型类的非平凡应用程序,正确的做法是什么?目录结构会是什么样子呢?
store
应用程序(其中包含购物车)依赖于product
应用程序,而不是将两者都放在同一个应用程序中。对于invoices
和payments
等也是如此。
看一下Django in the Real World,Jacob Kaplan-Moss关于如何编写Django应用程序的演示。
Django应用程序是封装的:它描述了一个简单对象(或对象集合)及其API。拥有20个模型听起来像是您没有一个清晰的API,因此也没有明确的概念,这个应用程序要做什么。
你想要的答案是"这取决于你的应用程序做什么"。为此,一个有20个模型的应用程序到底是干什么的?拿起你的重构副本,开始愉快地学习吧。