2011-01-26 5 views
0

Je développe une application sur Django, et je suis prêt à passer au serveur de déploiement. Je suis capable de lancer un nouveau projet django sur apache (je peux voir la page d'accueil). Toutefois, lorsque je copie les fichiers de mon projet d'origine dans le répertoire de projet Apache, je commence à recevoir des erreurs. Voici un exemple d'apache/error.log.Django: Passer du serveur de développement au déploiement (Apache + mod_wsgi)

[Wed Jan 26 19:22:08 2011] [error] [client 127.0.0.1] TemplateSyntaxError: Caught  ImportError while rendering: No module named charts 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] mod_wsgi (pid=4670): Exception occurred processing WSGI script '/srv/www/enpass/apache/django.wsgi'. 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] Traceback (most recent call last): 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/wsgi.py", line 241, in __call__ 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1]  response = self.get_response(request) 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py", line 141, in get_response 

Mon fichier django.wsgi ressemble

import os 
import sys 

path = '/srv/www' 
if path not in sys.path: 
    sys.path.insert(0, '/srv/www') 

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

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

J'ai changé tous les chemins dans les fichiers en fonction de la nouvelle structure de répertoire, donc je suis assez sûr des thats pas le problème. FIY, j'ai suivi les étapes décrites dans ce tutoriel http://blog.stannard.net.au/2010/12/11/installing-django-with-apache-and-mod_wsgi-on-ubuntu-10-04/

Répondre

1

Je l'ai compris moi-même. Nous devons ajouter le chemin du répertoire du projet à sys.path. Le code suivant a résolu le problème dans django.wsgi

path = '/srv/www/enpass' 
if path not in sys.path: 
    sys.path.append(path) 
0

On dirait que vous manque le module graphiques ..

installer pépin

sudo easy_install pip 

liste des paquets

pip freeze 

faire la même chose sur la machine de développement et recherchez un module de graphique, puis installez-le sur le serveur de production avec

sudo pip install <packagename> 
+0

Les graphiques sont déjà installés. En fait cela fonctionne quand je cours le serveur de développement. – Neo

Questions connexes