【问题标题】:Django path error - No module named modelsDjango 路径错误 - 没有名为模型的模块
【发布时间】:2011-05-06 09:51:07
【问题描述】:

我在一个 Django 应用程序中遇到了导入错误,我想这很简单,但我想不通……

这是一个简单的记事本应用程序,名为 «notes»,有 2 个模型,«note» 和 «category»。为了清理,我想将每个模型的视图和 URL 分开,所以这就是我得到的:

/notes
    admin.py
    forms.py
    models.py
    /urls
        category.py
        note.py
    /views
        category.py
        note.py

问题是我的视图找不到模型,这里是 Traceback - http://dpaste.com/hold/539425/ 和部分代码:http://dpaste.com/hold/539416/

上面的sn-p中我没有提到_init_.py文件,但是我都仔细检查了……

【问题讨论】:

    标签: django url import views models


    【解决方案1】:

    您的代码粘贴显示from notes.models import Category, Note,但您的回溯显示from models import Category, Note。很难判断它们是否是同一行,因为您只是在粘贴 sn-ps。不过,它应该始终是“from notes.models import foo”。

    您确定在您的models 导入中始终引用notes 应用程序吗?

    更新:

    如果您使用正确的from foo.models import bar 语法,那么我接下来的想法是,您可能有一个循环依赖项,它会阻止 Python 从模型文件中导入内容。

    但是回溯意味着无法找到 notes/models.py。所以...当您说您仔细检查了 init.py 文件时,这并不意味着它们是正确的。 :p notes/ 和 notes/urls/ 中都应该有一个——它们不必包含任何内容。

    【讨论】:

    • 是的,对不起,在一次绝望的尝试中,我只尝试了“模型”,我复制了这个回溯,但它是 from notes.models import Category, Note
    • 我刚刚重新检查了 init.py 文件,这似乎没问题,但在另一次绝望的尝试中,我删除了所有 .pyc,现在它似乎工作正常: )
    【解决方案2】:

    应该是

    from notes.models import Category, Note
    

    【讨论】:

    • 与@stevejalim 相同,在一次绝望的尝试中,我只尝试了“模型”,我复制了这个回溯,但它是from notes.models import Category, Note
    猜你喜欢
    • 1970-01-01
    • 2014-02-17
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 2013-07-17
    • 2016-03-20
    • 2012-01-27
    相关资源
    最近更新 更多