我刚接触Django,所以不确定答案是否显而易见。我在项目中创建了models.py文件,但是当我尝试使用syncDB时,它没有创建models.py中定义的表。只有在我将models.py创建在应用程序中,并在INSTALLED_APPS中注册应用程序后,才会在syncDB时创建表。
这是Django的工作方式吗?还是我漏掉了什么。
我刚接触Django,所以不确定答案是否显而易见。我在项目中创建了models.py文件,但是当我尝试使用syncDB时,它没有创建models.py中定义的表。只有在我将models.py创建在应用程序中,并在INSTALLED_APPS中注册应用程序后,才会在syncDB时创建表。
这是Django的工作方式吗?还是我漏掉了什么。
Django只同步已经定义在INSTALLED_APPS
中的内容。名称非常直观。Django将至少查找一个带有models.py
文件的模块(具有__init__.py
的目录)。因此,是的,您需要一个“应用程序”,但该应用程序可以仅包含具有__init__.py
和models.py
文件的目录。
是的 - 我认为模型只能存在于应用程序中(Django 中几乎所有东西都必须是应用程序)。
即使文档的下一部分没有直接说明,但以下文档的某些部分暗示了这一点:
这个教程的这一部分 有点 解释了应用程序: