【问题标题】:what does .models mean in Django?.models 在 Django 中是什么意思?
【发布时间】:2022-12-20 04:03:36
【问题描述】:

我正在尝试将名为“问题”的类从我的 models.py 导入到 admin.py from .models import Questions 我不明白为什么我们必须在“.models”中使用句点,它是什么意思,它究竟指向什么?

我尝试了这种组合,但无济于事 from models import Questions from Model.models import Questions

【问题讨论】:

  • 通常,.用于指定当前目录,所以如果你写from .models import SomeModelName那么它意味着从当前应用程序(对于Django)或当前目录导入模型,如果你写from some_app_name.models import SomeModel那么这里你明确指定从哪个您要导入模型的应用程序或文件夹。

标签: python django python-import


【解决方案1】:

这是由于相对进口。您会看到它们有两种类型的导入语句:

  1. 绝对导入:它们从项目的根开始。就像在 manage.py 所在的 Django 中一样,那是根目录。所以你的导入语句可以写成

    from {AppName}.models import Questions

  2. 但是这里你使用的是相对路径。相对的,因为您从当前所在的目录开始,而不是根目录。所以在.models.实际上意味着当前目录。您不能使用models,因为根目录中没有模型。

    如需更深入的细节,请尝试这个Python imports

【讨论】:

    【解决方案2】:

    那是一个relative import。这意味着在文件夹树中返回上一级并导入models

    这个:

    from .models import Questions
    

    与此相同:

    from my_folder_containing_models.models import Questions
    

    【讨论】:

      猜你喜欢
      • 2017-11-10
      • 2010-09-29
      • 2018-09-25
      • 2011-08-12
      • 2017-06-11
      • 2018-03-05
      • 2023-03-27
      • 2016-08-17
      • 2010-12-28
      相关资源
      最近更新 更多