当我试图在Apache中的mod-wsgi下部署我的django应用程序时,我收到了这个错误消息。
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] mod_wsgi (pid=4152): Exception occurred processing WSGI script 'C:/DjangoProjects/tryserver/Apache/django.wsgi'.
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] Traceback (most recent call last):
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\core\\handlers\\wsgi.py", line 250, in __call__
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] self.load_middleware()
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site- packages\\django\\core\\handlers\\base.py", line 39, in load_middleware
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\utils\\functional.py", line 276, in __getattr__
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] self._setup()
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\conf\\__init__.py", line 42, in _setup
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] self._wrapped = Settings(settings_module)
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\conf\\__init__.py", line 87, in __init__
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] mod = importlib.import_module(self.SETTINGS_MODULE)
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\utils\\importlib.py", line 28, in import_module
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] raise TypeError("relative imports require the 'package' argument")
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] TypeError: relative imports require the 'package' argument这是我的django.wsgi,它在正确的位置。
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = '../tryserver/tryserver.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()可能的问题是什么?
谢谢
发布于 2011-07-01 04:13:22
你的问题是:
os.environ['DJANGO_SETTINGS_MODULE'] = '../tryserver/tryserver.settings'DJANGO_SETTINGS_MODULE需要是一个包含您的设置的可导入的python模块。Django基本上是用你当前的django.wsgi做import ../tryserver/tryserver.settings
获得您想要执行的操作的最佳修复方法是将tryserver目录添加到python路径中。假设您的目录布局类似于:
./
tryserver/
tryserver/
settings.py
deploy/
django.wsgi然后在你的django.wsgi中,你可以这样做:
import os
import sys
sys.path = sys.path + ["/PATH/TO/tryserver/"] # The first one
os.environ['DJANGO_SETTINGS_MODULE'] = 'tryserver.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()https://stackoverflow.com/questions/6540488
复制相似问题