Wer ein Projekt mit Django macht und seine Anwendung via Apache hosten möchte, der sollte laut Dokumentation den Weg über WSGI bevorzugen.
Das Aufsetzen ist in der Dokumentation ausreichend beschrieben, aber es kann passieren, daß man in der Eile etwas wichtiges vergißt und dann Fehlermeldungen über nicht gefundene Anwendungspfade bekommt.
Es gibt zwei Möglichkeiten diese zu Umgehen.
- Man referenziert die Pfade nicht mit
anwendung.paketsondern mitprojekt.anwendung.paket. - Man macht es richtig. ;-)
Die erste Methode funktioniert zwar auch, aber es kann später zu häßlichen Stolpersteinen kommen (z.B. bei automatisierten Tests), daher sollte einfach die Datei projekt/apache/django.wsgi entsprechend modifiziert werden.
Wichtig ist hierbei die Option sys.path.append(). Mit dieser kann man den genauen Pfad zur Anwendung hinzufügen und alles funktioniert wie es soll.
Hier mal ein Beispiel für eine funktionierende django.wsgi:
import os
import sys
sys.path.append('/usr/local/django')
sys.path.append('/usr/local/django/projekt')
sys.path.append('/usr/local/django/projekt/anwendung')
os.environ['DJANGO_SETTINGS_MODULE'] = 'projekt.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
In diesem Sinne viel Spaß mit Django.