Django从另一个文件夹中的不同模型导入

Django从另一个文件夹中的不同模型导入

问题描述:

我的管理员应用程序中有两个文件夹 - 模块和测试。每个文件夹都包含自己的模型。我试图在两个文件夹之间导入。Django从另一个文件夹中的不同模型导入

测试从模块导入:from exam.admin.modules.models import Subject

它工作正常,但Pydev的Eclipse中显示我一个悬而未决的导入错误。任何原因?

+0

只要它在你运行的时候工作,你可以忽略Eclipse的想法。 – Nik 2011-05-02 13:49:27

+0

我做对了吗?这是做法吗? – kelvinfix 2011-05-02 13:57:41

+0

可能有一种方法可以使Eclipse的行为;然而,根据我的经验,这是不值得的时间和精力。唯一的例外是如果你运行它们时不起作用。 – Nik 2011-05-02 14:06:55

正如其他人所说,只要你的程序运行,那么你可以放心地忽略PyDev/Eclipse的警告。 PyDev似乎喜欢项目中的相对导入。您可以从导入路径中删除项目名称,但有更清晰的方式可以使用点显示层次结构。 “进入一个级别,进入modules目录,并从models.py文件导入Subject。”

from ..modules.models import Subject

更多关于Python的进口标准(绝对与相对的建议)在PEP 328

+0

谢谢JCotton,它解决了这两个问题。 – kelvinfix 2011-05-03 12:39:05

如果您的应用程序有效,我不会担心PyDev的导入错误。 I am sure there are bugs in PyDev/Eclipse

您可以尝试配置源文件夹和检查,如果这能解决问题。 右键单击项目,单击属性。 打开PyDev - PYTHONPATH选项卡。 检查定义的源文件夹。 这些源文件夹是您的“根”源文件夹。 可能没有找到类的目录的源文件夹。