2010-03-26 5 views
0

Je suis en train de déployer mon projet django sur un hébergement mutualisé comme décrit heremodule paramètres introuvable déploiement django sur un serveur partagé

J'ai mon projet/home/user/www/testa

J'utilise ce script


#!/usr/bin/python 
import sys, os 

sys.path.append("/home/user/bin/python") 

sys.path.append('/home/user/www/testa') 


os.chdir("/home/user/www/testa") 

os.environ['DJANGO_SETTINGS_MODULE'] = "settings.py" 

from django.core.servers.fastcgi import runfastcgi 
runfastcgi(method="threaded", daemonize="false") 

Et voici l'erreur que je reçois en essayant de le lancer depuis shell:


WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI! 
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI! 
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI! 
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI! 
Traceback (most recent call last): 
    File "build/bdist.linux-i686/egg/flup/server/fcgi_base.py", line 558, in run 
    File "build/bdist.linux-i686/egg/flup/server/fcgi_base.py", line 1118, in handler 
    File "/home/user/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 230, in __call__ 
    self.load_middleware() 
    File "/home/user/lib/python2.4/site-packages/django/core/handlers/base.py", line 33, in load_middleware 
    for middleware_path in settings.MIDDLEWARE_CLASSES: 
    File "/home/user/lib/python2.4/site-packages/django/utils/functional.py", line 269, in __getattr__ 
    self._setup() 
    File "/home/usr/lib/python2.4/site-packages/django/conf/__init__.py", line 40, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/home/user/lib/python2.4/site-packages/django/conf/__init__.py", line 75, in __init__ 
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e) 
ImportError: Could not import settings 'settings.py' (Is it on sys.path? Does it have syntax errors?): No module named settings.py 
Content-Type: text/html 



Unhandled Exception 

Unhandled Exception

An unhandled exception was thrown by the application.

Qu'est-ce que je fais mal?

Exécution du script à partir du navigateur me donne juste une erreur interne du serveur.

Répondre

3

La ligne

os.environ['DJANGO_SETTINGS_MODULE'] = "settings.py" 

devrait être plus comme

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

basé sur la façon dont vous configurez sys.path. Cette variable d'environnement est supposée contenir le chemin vers le module car il devrait être importé par Python, pas le nom de fichier réel du module.

Fondamentalement, la façon dont vous l'avez fait est maintenant Django faire quelque chose comme ça en interne:

import settings.py 

à savoir, il essaie d'importer un module py à l'intérieur d'un module settings.

Questions connexes