使用Django添加應用的時候,一直提示Error: No module named myapp。意思是找不到這個名字的應用,可是我已經startapp成功,并且系統已經創建相應的目錄
代碼如下:
D:/Python27/Scripts/website>python manage.py syncdb
Error: No module named myapp
難道官方的文檔有錯,我manage.py startapp myapp已經成功,并且已經創建目錄與文件。
并在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',
'website.myapp',
)
最后一行website.myapp就是我新添加的。谷歌搜索了好久,也沒有解決這個問題。最后無奈只好去官方讀讀docs,才發現這是新版與舊版的區別問題。
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',
)
然后執行
代碼如下:
python manage.py syncdb
OK,成功。
后記
我下載了最新版本的Django1.4,手冊教程是舊版本的。一步步跟著教程安裝出現了問題,一開始以為是自己哪里漏命令或者輸錯命令了,重試N次還是提示找不到應用。最后無奈只好到官網去仔細閱讀英文手冊(靠翻譯軟件)最終發現這是版本問題。
經過這幾天調試發現新版與舊版有不少區別,而且也是新手及容易犯的錯誤,而網上極少的教程又是以低版本為主,加上不少站點采集千篇一律,這也可能是因為Python在國內做站的幾乎沒有或者極少數。所以個人建議接觸Django1.3版本以上的童鞋遇到問題最好閱讀官網手冊,網上一般找不到解決方案。
新聞熱點
疑難解答