Django tai Python web programavimo karkasas, skirtas sparčiam aplikacijų kūrimui. Django, kaip ir kitų kalbų karkasai – CakePHP, Ruby on Rails – naudoja MVC architektūrą. Šiame straipsnyje aptarsim Django development serverio paleidimą Linux sistemose.
Aš dirbsiu su Kubuntu 8.04 (Hardy Heron), tačiau su minimaliais pakeitimais serverį pasileisite ant bet kokios distribucijos. Taigi, mums prireiks:
Kadangi mūsų tikslas nėra paleisti viešą serverį, o tik sukurti aplinką patogiam programavimui su Django, pasinaudosime XAMPP paketais. Taigi, keliam pirmojo archyvo turinį į /opt katalogą:
$ sudo tar xvfz xampp-linux-1.6.6.tar.gz -C /opt
Tą patį padarom su development paketu:
$ sudo tar xvfz xampp-linux-devel-1.6.6.tar.gz -C /opt
Root’o teisės reikalingos norint rašyti į /opt katalogą, taip pat serveris bus paleidinėjamas su root teisėmis. Development paketas reikalingas norint pridėti papildomų modulių.
Toliau išsiskleidžiam mod_python archyvą ir cd’inam į tą katalogą. Pasiskaitom manualą ir vedam tokią komandą:
$ ./configure --with-apxs=/opt/lampp/bin/apxs
Jei viskas gerai, o taip ir turėtų būti, sukompiliuosim modulį:
$ make
ir tada instaliuojame:
$ sudo make install
Dabar mums reikia sukonfigūruoti Apache. Tam pirmiausia reikia sužinoti, kur buvo instaliuotas mūsų modulis, skrolinam terminalą į viršų ir randam kažką panašaus į:
LoadModule python_module /opt/lampp/modules/mod_python.so
Su jums patogiu editorium atsidarom httpd.conf failą (nepamirštam root teisių):
$ sudo nano /opt/lampp/etc/httpd.conf
ir prie visų kitų modulių prirašom saviškį:
LoadModule python_module /opt/lampp/modules/mod_python.so
Na ir galiausiai pratestuojame. Sakydamas galiausiai, neturėjau omeny, kad darbas baigtas :) Iš tiesų, tai baigėsi lengviausia dalis. Dabar reikia instaliuoti ir sukonfigūruoti Django. Django instaliavimui yra du būdai, tačiau aš pasirinkau, mano manymu, lengvesnį bei aiškesnį. Taigi, išsiskleidžiame archyvą Django-0.96.1.tar.gz ir į einame į sukurtą katalogą. Iš ten kopijuojame viduje esantį django katalogą į python direktorijoje esančią site-packages direktoriją:
$ sudo cp django /usr/lib/python2.5/site-packages/
Atkreipkit dėmesį, kad jūsų sistemoje gali būti kitas kelias, tarkim /usr/lib/python2.4.
Dabar teks dar kartą atsidaryti httpd.conf bylą ir ten įrašyti konfigūraciją django karkasui:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE examples.settings
PythonDebug On
PythonPath "['/opt/lampp/www/'] + sys.path"
</Location>
Pasiaiškinkim kas ką reiškia. <Location “/”> ne kelią sistemoje, bet nurodo adresą. Kadangi aš noriu, kad mano aplikacja būtų šakninėje direktorijoje, nurodau “/”. DJANGO_SETTINGS_MODULE saugo kelią iki aplikacijos nustatymų. Šiam kartui įrašykime examles.settings, vėliau žinosime kuo jį pakeisti. Dar mums reikia pridėti direktoriją, kurioje bus ieškoma python failų. Tiesiog įrašome savo direktoriją kurioje bus projektas – /opt/lampp/www/. Tai neturėtų būti DocumentRoot direktorija.
Na štai, liko paskutinis žingsnis. Iš Django-0.96.1 direktorijos nusikopijuojam katalogą examles ir jį padedam į /opt/lampp/htdocs/ (Patarčiau htdocs katalogui suteikti rašymo teises, kad dirbant nereiktų root teisių). Paleidžiam Apache serverį (kolkas mums nereikia MySQL):
$ sudo /opt/lampp/lampp startapache
Einame į http://localhost/ ir matome neapsakomą vaizdą:

Valio! Ak taip, kai ką pamiršome. /opt/lampp/htdocs/examples/ direktorijoje yra failas settings.py, tai tas failas kurį nurodėme httpd.conf faile. Kai kursite savo aplikaciją, pakeisite ten esančią reikšmę į savo: direktorija.settings.
Visą dokumentaciją rasite adresu http://www.djangoproject.com/
Susipažinti su Django karkasu galite skaitytami Django knygą.
Smagaus programavimo!