2013-06-19 54 views
1

IM部署我的Django項目,一個webfaction服務器下名爲「蘋果園」的默認目錄。默認的項目在webfaction文件夾,它的「MyProject的」,所以有此錯誤林:Django的webfaction部署:如何改變你的項目

ImportError: Could not import settings 'myproject.settings' (Is it on sys.path?): No module named myproject.settings 

的問題是:我該怎麼做,而不是從myproject.settings導入從Hesperides.settings的設置?謝謝你的時間。

我的httpd.conf:

WSGIDaemonProcess jinn processes=2 threads=12 python-path=/home/zeioth/webapps/jinn:/home/zeioth/webapps/jinn/myproject:/home/zeioth/webapps/jinn/lib/python2.7: 
WSGIScriptAlias//home/zeioth/webapps/jinn/myproject/Hesperides/wsgi.py 

我wsgi.py

import os 
import sys 

from django.core.handlers.wsgi import WSGIHandler 
os.environ['DJANGO_SETTINGS_MODULE'] = 'Hesperides.settings' 
application = WSGIHandler() 

我的文件夾樹:

jinn 
    --apache2 
    -bin 
    --conf 
     -httpd.conf 
     -mime.types 
    -lib 
    -logs 
    -modules 
    -bin 
    -lib 
    --myproject 
    -manage.py 
    --Hesperides 
     -wsgi.py 
     -urls.py 
     -__init__.py 
     -settings.py 
     -apps 
+1

在我看來,你的'settings.py'其實裏面'myproject'。您是否嘗試在'Hesperides'文件夾中複製/粘貼'settings.py'? –

+0

不,這是myproject文件夾: http://oi39.tinypic.com/mjsscw.jpg –

+1

我不太瞭解你的文件樹結構。試試這個改爲'os.environ.setdefault(「DJANGO_SETTINGS_MODULE」,「 Hesperides.settings「)' –

回答

0

問題就解決了:這一個重的步驟來更改下webfaction項目目錄:

1在httpd.conf中的webapps/yourappname/Apache2的設置:

WSGIScriptAlias//home/zeioth/webapps/jinn/myproject/yourNewName/wsgi.py 

2,在您的應用程序的manage.py集:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourNewName.settings") 

3,在你的應用程序的wsgi.py集:

​​

4 - 在您的應用程序的settings.py集:

WSGI_APPLICATION ='yourNewName.wsgi.application' 

現在,runserver應該可以工作,或者告訴你是否需要安裝某個模塊。

0

需要注意的是,當你有使用WSGIDaemonProcess你需要有一個相應的WSGIProcessGroup指令否則你的WSGI申請將不會被委派給守護進程組中運行。如果我記得的話,WebFaction會在一段時間內生成一個損壞的配置文件。那或者你從其中的一個博客文章中複製了這個有破例的博客文章。閱讀: