我知道有很多與此有關的問題,但這些答案似乎不適用於我的情況。我是django的新手(我已經完成了教程),但是我正在修復別人的代碼(我不能再聯繫)。ImportError:沒有名爲lop.models的模塊
我在Linux Derbian上運行django 1.5,使用python 2.7。 我收到此錯誤。
File "views-full.py", line 1, in <module>
from lop.models import File, V1, V2
ImportError: No module named lop.models.
我views-full.py:
from lop.models import File, V1, V2
...
我的樹是這樣的(爲了節省時間,我views-full.py正在LOP):
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]
正如你看,我的初始化 .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',
)
...
我覺得我做一些新手的錯誤,但對我的光,我無法弄清楚。這是我在這個網站上的第一個問題(請溫和)。提前致謝。
唯一的問題是模塊的路徑可能不是永久的(如果有人被僱用後來下線,目錄將移動到新用戶的位置,路徑將不再有效)。在我的項目中,我定義了一個常量(BASE_DIR)來指定目錄的路徑,所以如果發生這種情況,他們只需要改變常量,以便在任何地方應用更改。但是,我認爲我不能和終端做同樣的事情。 – ChocolateCode 2015-01-15 17:40:31
並且該常量不能用於定義模塊的路徑? ('sys.path.append(BASE_DIR +'/ specific/module/folder /'')我不得不承認我還不知道該怎麼辦,因爲除了已經給出的答案之外,這並沒有發生在我身上! – 2015-01-15 21:43:24