Twórcy Django zalecają serwerowanie aplikacji za pomocą serwera Apache i mod_python, jako że jest to rozwiązanie sprawdzone i stabilne. Również większość serwerów oferujących hosting aplikacji Django oferuje właśnie opcję z mod_python. Najprostsza konfiguracja dla aplikacji django przedstawiona jest poniżej (fragment pliku konfiguracyjnego Apache):
Alias /media/ "/ścieżka/do/instalacji/django/contrib/admin/media/"
Alias /site_media/ "/ścieżka/do/plikow/site_media/"
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE settings
PythonPath "['/ścieżka/do/projektu/'] + sys.path"
PythonDebug On
</Location>
<Location "/site_media">
SetHandler none
</Location>
- Alias /media/ - Odnośnik do katalogu z plikami statycznymi Panelu Admina Django. Czasami jest to skonfigurowane przez administratora serwera. Zazwyczaj będzie to ścieżka typu /usr/lib/pythonX.Y/django/contrib/admin/media/
- Alias /site_media/ - Odnośnik do katalogu z plikami statycznymi naszej aplikacji, gdzie "/site_media/" oznacza nazwę katalogu jaką używamy w naszej aplikacji by wywołać plik statyczny - src="/site_media/grafika.jpg"
- ['/ścieżka/do/projektu/'] - Podajemy ścieżkę do katalogu naszego projektu Django.
Musimy też "usunąć" obsługę katalogu z plikami statycznymi przez mod_pythona (inaczej wywołania przekazywane byłyby do django)
<Location "/site_media">
SetHandler none
</Location>
Notka: by zmiany w kodzie pythona projektu weszły w życie musisz zrestartować apache.
- Dodane: 14.07.2008 przez riklaunim