【问题标题】:Importing models in Django python在 Django python 中导入模型
【发布时间】:2013-03-15 15:31:21
【问题描述】:

如何在 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

^ 项目结构 ^

【问题讨论】:

    标签: python django models


    【解决方案1】:

    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 file

    最后:

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

    【讨论】:

    • 我可以有一个名为 models 的文件夹并将所有模型存储在此文件夹中吗?
    • 是的。那将是一个模块。
    • 那么我如何在管理面板中查看所有模型?
    • "在其中放入 init.py(将其声明为模块),然后在其中创建文件。我很困惑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2014-10-07
    相关资源
    最近更新 更多