1

我在 webfaction 服务器下部署了我的 django 项目,名为“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
4

2 回答 2

0

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

于 2013-06-19T23:18:27.197 回答
0

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

1-in 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 集中:

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

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

WSGI_APPLICATION ='yourNewName.wsgi.application'

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

于 2013-06-19T20:16:34.343 回答