django apache2 ubuntu wsgi错误无法导入foobar.settings

时间:2013-08-28 17:15:17

标签: django apache ubuntu wsgi django-wsgi

你好我发现很多关于这个错误的东西,但没有什么对我有用。 很抱歉再问一次。 : - )

错误(505)日志:

    [Wed Aug 28 19:02:59 2013] [error] [client 123] mod_wsgi (pid=19305): Exception occurred processing WSGI script '/usr/local/www/foo-app/foobar/wsgi.py'.
[Wed Aug 28 19:02:59 2013] [error] [client 123] Traceback (most recent call last):
[Wed Aug 28 19:02:59 2013] [error] [client 123]   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 236, in __call__
[Wed Aug 28 19:02:59 2013] [error] [client 123]     self.load_middleware()
[Wed Aug 28 19:02:59 2013] [error] [client 123]   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 45, in load_middleware
[Wed Aug 28 19:02:59 2013] [error] [client 123]     for middleware_path in settings.MIDDLEWARE_CLASSES:
[Wed Aug 28 19:02:59 2013] [error] [client 123]   File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 53, in __getattr__
[Wed Aug 28 19:02:59 2013] [error] [client 123]     self._setup(name)
[Wed Aug 28 19:02:59 2013] [error] [client 123]   File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in _setup
[Wed Aug 28 19:02:59 2013] [error] [client 123]     self._wrapped = Settings(settings_module)
[Wed Aug 28 19:02:59 2013] [error] [client 123]   File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 134, in __init__
[Wed Aug 28 19:02:59 2013] [error] [client 123]     raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Wed Aug 28 19:02:59 2013] [error] [client 123] ImportError: Could not import settings 'foobar.settings' (Is it on sys.path?): No module named foobar.settings

我的wsgi.py文件:

import os
import sys

# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
# if running multiple sites in the same mod_wsgi process. To fix this, use
# mod_wsgi daemon mode with each site in its own daemon process, or use
# os.environ["DJANGO_SETTINGS_MODULE"] = "foobar.settings"
sys.path.append('/usr/local/www/foobar-app/foobar')
sys.path.append('/var/www')
sys.path.append('/var/www/foobar')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "foobar.settings")

# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

本地所有工作。

感谢您的帮助!

greatz

1 个答案:

答案 0 :(得分:0)

您应该添加:

/usr/local/www/foobar-app

到sys.path。参见: