4

如何在 INSTALLED_APPS 的 settings.py 中导入所有模型?当我尝试插入一些模型时发生错误:“没有名为 app1_model 的模型”

-ProjectName
--ProjectName
---models
----__init__.py
----admin.py
----app_1_model
----....
----app_n_model
---templates
---__init__.py
---settings.py
---urls.py
---wsgi.py
--manage.py

^ 项目结构 ^

4

1 回答 1

11

INSTALLED_APPS 用于应用程序而不是模型。模型是存在于您的应用程序中的类,通常位于/«app_name»/models.py.

我认为您误解了 Django 项目的结构。尝试完成一个教程示例。

典型结构:

/«project»/«app_name»/models.py

并在设置中:

INSTALLED_APPS = [ ... '«app_name»' ... ]

您的路径将包含基础项目目录,因此您可以在需要的地方导入您的应用程序。

并使用它们:

from «app_name».models import *

尽管最好不要import *命名您希望导入的类。

要回答评论中的问题:

如果您不喜欢将所有模型存储在一个文件中的想法(即使这样做很正常),您可以创建一个名为 models. 为此,请/«project»/«app_name»/models在其中创建一个名为 的目录__init__.py(将其声明为模块),然后在其中创建文件。然后,您需要将文件内容导入__init__.py. 你应该阅读 Python 模块来理解这一点。

要回答第二个评论问题:

要在 admin 中查看模型,您应该使用模型管理对象创建一个管理文件。

最后:

请通读教程以确保您对 Django 有透彻的了解。否则你就是在浪费自己的时间!

于 2013-03-15T15:33:02.477 回答