Django webfaction部署:如何更改项目的默认目录

时间:2013-06-19 17:28:31

标签: django deployment web-deployment webfaction

我正在部署我的django项目,在webfaction服务器下命名为“Hesperides”。 webfaction中的默认项目文件夹是“myproject”所以我有这个错误:

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

问题是:如何从Hesperides.settings导入设置而不是myproject.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

2 个答案:

答案 0 :(得分:0)

问题已解决:这些是在webfaction下更改项目目录的步骤:

1-in httpd.conf in webapps / yourappname / apache2 set:

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

2 - 在您的应用的manage.py设置中:

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

3 - 你的应用程序的wsgi.py设置:

os.environ['DJANGO_SETTINGS_MODULE'] = 'yourNewName.settings'

4 - 在你的应用的settings.py设置中:

WSGI_APPLICATION ='yourNewName.wsgi.application'

现在,runserver应该可以工作,或者告诉你是否需要安装一些模块。

答案 1 :(得分:0)

请注意,当您使用WSGIDaemonProcess时,您需要具有相应的WSGIProcessGroup指令,否则您的WSGI应用程序将不会被委派为在该守护进程组中运行。如果我记得的话,WebFaction会暂时生成一个损坏的配置文件。那个或者你从其中一个博客帖子中复制了这个例子。读: