我已经开始为自己开发一个通过浏览器运行的本地应用程序。最近浏览了 django 教程,我认为使用 django 可能比使用普通 python 更好。
有一个问题:我至少有 20 个模型,每个模型都有很多功能。很简单,它将创建一个巨大的模型文件,并且可能还会创建巨大的 View 。如何拆分它们?
models are all related所以我不能简单地将它们变成单独的应用程序吗?
最佳答案
这是一个很常见的需求...我无法想象要翻阅一个 10,000 行长的 models.py 文件 :-)
您可以将 models.py
文件(以及 views.py 也)拆分为一个 pacakge。在这种情况下,您的项目树将如下所示:
/my_proj
/myapp
/models
__init__.py
person.py
__init__.py
文件使文件夹成为一个包。唯一的问题是确保为您的模型定义一个内部 Meta
类,以指示模型的 app_label,否则 Django 将无法构建您的模式:
class Person(models.Model):
name = models.CharField(max_length=128)
class Meta:
app_label = 'myapp'
完成后,将模型导入您的 __init__.py
文件,以便 Django 和同步数据库找到它:
from person import Person
这样你仍然可以 from myapp.models import Person
关于python - 1 个 django 应用程序中约有 20 个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/859192/