2010-10-12 5 views
2

voici donc le réglage:Apache ne peut pas accéder aux applications Django

Le site tout fonctionne bien si je retire l'application (dont le nom est myapp) dans la section INSTALLED_APPS dans le fichier de paramètres que j'ajouté WSGIPythonHome dans apache2 .conf

Je peux accéder aux applications via le shell python interactif de Django (python manage.py shell). Je peux créer, mettre à jour et supprimer des données.

J'utilise la configuration standard Apache 2 pour Ubuntu 10.04 Lucid Lynx (sites activés, mods compatibles, apache2.conf, etc.)

Je courais un virtualenv situé dans/home/ygamretuta/dev/myproject

mon projet django est situé dans/home/ygamretuta/dev/site1

erreur fichier journal indique que ceci (2 dernières lignes):

File "/home/ygamretuta/dev/myproject/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module 

TemplateSyntaxError: Caught ImportError while rendering: No module named myapp 

mon django.wsgi contient ceci:

import os, sys 
sys.path.append('/home/ygamretuta/dev') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings' 

import django.core.handlers.wsgi 

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

mon fichier hôte virtuel pour site1.com (contenu dans les sites disponibles dossier) contient ce (dépouillé d'autres détails):

WSGIDaemonProcess ygamretuta processes=2 maximum-requests=500 threads=1 
WSGIProcessGroup ygamretuta 
WSGIScriptAlias//home/ygamretuta/dev/site1/apache/django.wsgi 

Que pouvais-je manqué? Je reçois e 500 Erreur de serveur interne si les applications personnalisées (celles que j'ai faites avec manage.py startapp) ne sont pas commentées

Répondre

6

Ajoutez /home/ygamretuta/dev/site1 à sys.path.

+0

qui a déjà été fait dans le django.wsgi comme indiqué ci-dessus. Dois-je le mettre ailleurs? – yretuta

+0

Non, ce n'est pas le cas. Regarde encore. –

+0

Si je remplace l'actuel avec/site1, il provoquera l'erreur Impossible d'importer les paramètres 'site1.settings', comme indiqué par l'intégration de WSGI Django dans le code Google, le paramètre de dossier sys.path.append doit être le parent de le dossier de projet django: "En d'autres termes, il devrait être le répertoire dans lequel vous étiez quand 'django-admin.py' a été lancé.Il équivaut également au répertoire parent du répertoire qui contient le 'settings.py' créé par ' django-admin.py startproject '. " – yretuta

Questions connexes