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版本以上的童鞋遇到問題最好閱讀官網手冊,網上一般找不到解決方案。