使用Django添加應(yīng)用的時候,一直提示Error: No module named myapp。意思是找不到這個名字的應(yīng)用,可是我已經(jīng)startapp成功,并且系統(tǒng)已經(jīng)創(chuàng)建相應(yīng)的目錄
D:/Python27/Scripts/website>python manage.py syncdb
Error: No module named myapp
難道官方的文檔有錯,我manage.py startapp myapp已經(jīng)成功,并且已經(jīng)創(chuàng)建目錄與文件。
并在settings.py的INSTALLED_APPS里添加應(yīng)用,如下代碼
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'website.myapp',
)
最后一行website.myapp就是我新添加的。谷歌搜索了好久,也沒有解決這個問題。最后無奈只好去官方讀讀docs,才發(fā)現(xiàn)這是新版與舊版的區(qū)別問題。
Django1.3版之前需要project.app這么寫
Django1.3版后只需要app這么寫即可
最后把settings.py的INSTALLED_APPS修改為
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'myapp',
)
然后執(zhí)行
python manage.py syncdb
OK,成功。后記
我下載了最新版本的Django1.4,手冊教程是舊版本的。一步步跟著教程安裝出現(xiàn)了問題,一開始以為是自己哪里漏命令或者輸錯命令了,重試N次還是提示找不到應(yīng)用。最后無奈只好到官網(wǎng)去仔細閱讀英文手冊(靠翻譯軟件)最終發(fā)現(xiàn)這是版本問題。
經(jīng)過這幾天調(diào)試發(fā)現(xiàn)新版與舊版有不少區(qū)別,而且也是新手及容易犯的錯誤,而網(wǎng)上極少的教程又是以低版本為主,加上不少站點采集千篇一律,這也可能是因為Python在國內(nèi)做站的幾乎沒有或者極少數(shù)。所以個人建議接觸Django1.3版本以上的童鞋遇到問題最好閱讀官網(wǎng)手冊,網(wǎng)上一般找不到解決方案。