Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 抽象模型的最佳文件夹结构_Python_Django - Fatal编程技术网

Python 抽象模型的最佳文件夹结构

Python 抽象模型的最佳文件夹结构,python,django,Python,Django,我有一个叫做文档的抽象模型。“发票”和“报价单”等文档类型继承自此类 这是我的第一个Django项目,我有点不清楚最好的文件夹结构。我计划让每种类型的文档都有自己的应用程序。因此,将有一个“发票”应用程序和一个“报价”应用程序,每个应用程序都有自己的文件夹。这是否合理的做法 我的第二个问题是文档模型应该位于哪里?文档本身应该是一个应用程序吗?“发票”和“报价”应该放在“文件”中吗?这个选择有一定的主观性。它确实取决于所有这些不同的文档是否都是几乎相同的东西(只是相对较小的变化,但仍然或多或少相似

我有一个叫做文档的抽象模型。“发票”和“报价单”等文档类型继承自此类

这是我的第一个Django项目,我有点不清楚最好的文件夹结构。我计划让每种类型的文档都有自己的应用程序。因此,将有一个“发票”应用程序和一个“报价”应用程序,每个应用程序都有自己的文件夹。这是否合理的做法


我的第二个问题是文档模型应该位于哪里?文档本身应该是一个应用程序吗?“发票”和“报价”应该放在“文件”中吗?

这个选择有一定的主观性。它确实取决于所有这些不同的文档是否都是几乎相同的东西(只是相对较小的变化,但仍然或多或少相似),或者它们是否具有大量非常特定的功能

我想你的可能是第一个,他们可能有不同的功能,但他们确实分享了很多。然后,您可以继续创建它们作为单个应用程序

你会的

documents/__init__.py documents/models.py documents/views.py 文档/\uuuu init\uuuuu.py 文档/模型.py documents/views.py 如果你有很多模型和不同类型的模型,比如3种不同类型的文本文件,4种不同类型的音频,你可以使用如下文件夹结构:

documents/__init__.py documents/models/__init__.py documents/models/base.py documents/models/text.py documents/models/audio.py ... documents/views.py 文档/\uuuu init\uuuuu.py 文档/模型/\uuuuu init\uuuuuuu.py 文档/模型/base.py 文档/模型/text.py 文档/模型/audio.py ... documents/views.py 因此,在本例中,您将在base.py中创建基本抽象模型,然后在其他文件中创建几个正确分类的模型,从基本抽象模型继承

然后要使用这些类,您需要执行以下操作:

from documents.models.audio import FancyAudio from documents.models.text import BigText, SmallText .... 从documents.models.audio导入FancyAudio 从documents.models.text导入大文本、小文本 ....