Problème django Apache mod-wsgi

J’ai eu ces messages d’erreur pendant que j’essaie de déployer mon application Django sous mod-wsgi dans Apache.

[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 

Ceci est mon django.wsgi et il est au bon endroit.

 import os import sys os.environ['DJANGO_SETTINGS_MODULE'] = '../tryserver/tryserver.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 

Quel pourrait être le problème ?

Merci

Votre problème est:

 os.environ['DJANGO_SETTINGS_MODULE'] = '../tryserver/tryserver.settings' 

DJANGO_SETTINGS_MODULE doit être un module python importable contenant vos parameters. Django va essentiellement import ../tryserver/tryserver.settings avec votre django.wsgi actuel

La meilleure solution pour obtenir ce que vous essayez de faire est d’append le répertoire tryserver au chemin Python. En supposant que votre disposition de répertoire ressemble à quelque chose comme:

 ./ tryserver/ tryserver/ settings.py deploy/ django.wsgi 

Ensuite, dans votre django.wsgi, vous pouvez faire quelque chose comme:

 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()