Biblioteka Pythona

Django pod mod_python

Jak skonfigurować Apache i mod_python dla projektu Django

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>
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.