ImportError:没有名为lop.models的模块

时间:2015-01-15 15:53:33

标签: python django django-models module importerror

我知道有很多与此相关的问题,但这些答案在我的情况下似乎不起作用。我是django的新手(我已经完成了教程),但我修复别人的是代码(我无法再联系)。

我在Linux Derbian上使用python 2.7运行django 1.5。 我收到了这个错误。

File "views-full.py", line 1, in <module>
    from lop.models import File, V1, V2
ImportError: No module named lop.models.

我的观点-full.py:

from lop.models import File, V1, V2
...

我的树就是这个(为了节省时间,我的观点 - 全身都在垂直之下):

Main
├── Main
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   ├── urls.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── manage.py
├── lop
│   ├── admin.py
│   ├── admin.pyc
│   ├── forms.py
│   ├── forms.pyc
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── migrations
│   │   ├── 0001_migrate.py
│   │   ├── 0001_migrate.pyc
│   │   ├── 0002_migrate.py
│   │   ├── 0002_migrate.pyc
│   │   ├── 0003_auto__add_category.py
│   │   ├── 0003_auto__add_category.pyc
│   │   ├── 0004_auto__add_field_script_category.py
│   │   ├── 0004_auto__add_field_script_category.pyc
│   │   ├── __init__.py
│   │   └── __init__.pyc
│   ├── models.py
│   ├── models.pyc
│   ├── tests.py
│   ├── urls.py
│   ├── urls.pyc
│   ├── views
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── viewsb.py
│   │   ├── viewsb.pyc
│   │   └── viewsb.py.save
│   ├── views-full.py
│   ├── views.pyc
│   ├── views.py.save
│   └── views-test.py
├── scripts [39 entries exceeds filelimit, not opening dir]
├── sqlite3.db
├── static [29 entries exceeds filelimit, not opening dir]
├── templates
│   ├── entry2-full.html
│   ├── entry2.html
│   ├── entry3-full.html
│   ├── entry3.html
│   ├── entry.html
│   ├── index.html
│   ├── index.html.old
│   ├── scriptlist.html
│   └── testData.html
└── user-dirs [109 entries exceeds filelimit, not opening dir] 

如您所见,我的 init .py和models.py都在同一个文件夹中(我知道在其他情况下它们不存在问题)。

我的settings.py:

 ...     
 INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    # 'django.contrib.admindocs',
    'lop',
    'south',
)
...

我觉得我犯了一些新手的错误,但是对于我的光,我无法弄明白。这是我在这个网站上的第一个问题(请温柔)。提前谢谢。

2 个答案:

答案 0 :(得分:1)

我不熟悉django,但这就是我在这种情况下所做的事情:

import sys
sys.path.append('/path/of/folder/where/module/is/')
from new_module import new_function

答案 1 :(得分:0)

所以我想出了我的错误所带来的问题。

最长的时间,我认为要测试任何编译错误(语法),我会在shell上运行“python&lt; filename&gt; migrate”或“python&lt; filename&gt; makemigrations”。我认为所有变更都需要迁移,而不仅仅是数据库中的变更。当语法错误包括这个错误消息时,我会收到错误消息,之前它在其他情况下有效。有人最终向我指出,不是你如何测试它并运行“python manage.py runserver 0.0.0.0:8000”会指出本地机器中代码中的任何错误。之后我的特定文件没有收到任何错误消息。

Gabriel L'Heureux,我仍然感谢你的帮助(我会给你一点意见,但我没有足够的分数这样做)所以你要感谢。