2

我无法让 wsgi 在我的生产服务器上工作。运行 Django 1.4

这是我的错误。

ImportError:无法导入设置“Hera.settings”(它在 sys.path 上吗?):没有名为 Hera.settings 的模块

我的文件项目位于 /srv/project/Hara/。我的文件系统示例如下...

    /srv/project/Hara/
      - manage.py

    /srv/project/Hara/Hara
      - settings.py
      - urls.py

    /srv/project/Hara/web
      - models
      - admin.py
      - views.py

/srv/project/Hara/apache
   - django.wsgi

django.wsgi

import os
import sys
sys.path.append('/home/ubuntu/project/Hera')
sys.path.append('/home/ubuntu/project/Hera/Hera')
print >> sys.stderr, sys.path
os.environ['DJANGO_SETTINGS_MODULE'] = 'Hera.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
4

1 回答 1

3

我认为您没有在 django.wsgi 中附加实际目录

sys.path.append('/home/ubuntu/project/Hera')
sys.path.append('/home/ubuntu/project/Hera/Hera')

这些不再适用于您的生产现场

/srv/project/Hera更好的是获得与文件相关的路径,例如:

os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')

这样,无论您的代码位于何处,它都将始终获得

于 2012-12-12T21:53:37.153 回答