Django (raamistik)

Allikas: Vikipeedia
Mine navigeerimisribale Mine otsikasti
Django 3.0 maandumisleht

Django on veebirakenduste loomiseks mõeldud programmeerimiskeele Python põhine vabavararaamistik [1]. Django on loodud 21. juulil 2005 ning hallatud MTÜ Django Software Foundation poolt [1]. Peamine Django raamistiku eesmärk on muuta korduvad ja aeganõudvad veebiarenduse aspektid kiiresti läbitavaks ja kompleksed andmebaasipõhised lehed lihtsasti hallatavaks [2]. Django raamistik on üles ehitatud järgnevatele disainiprintsiipidele [2]:

  • Lahtiühendatavus ehk raamistiku kihtide iseseisvus ja teadmatus üksteisest,
  • vähem koodi ehk Python keele dünaamilise võimekuse ära kasutamine,
  • kiire arendus ehk eesmärk muuta korduvad ja aeganõudvad tööd kiiresti läbitavaks,
  • ära korda end ehk arusaam, et iga kontsept ja andmetükk peaks elama ainult ühes kohas,
  • selgesõnaline on parem kui kaudne ehk Püütonist tulnud PEP 20 disainipõhimõtte järgimine, mis tähendab, et kood ei tohiks teha liialt maagiat [3].
  • Järjepidevus ehk terve raamistiku nii madala taseme kui ka kõrge taseme kood peab olema üles ehitatud samaväärse järjepidevusega.

Mõned tuntumad Eesti veebirakendused, mis on Djangol ehitatud, on Ecoop, Novastar, PMC, Waybiller [4].

Funktsionaalsus[muuda | muuda lähteteksti]

Django raamistik on üles ehitatud MVC (model - view - controller) arhitektuuril. Raamistik sisaldab veebi mallide süsteemi, mis on mõeldud HTTP taotluste töötluseks, regulaaravaldistele üles ehitatud URL-i jagajat ja objekt-relatsioon kaardistajat, mis vahendab andmeid andmemudelite, mis on Djangos defineeritud Python klassidega ja relatsioonilise andmebaasi vahel [5]. Lisaks on raamistikku ehitatud

  • testimisserver,
  • ankeetide validatsiooni ja genereerimise funktsionaalsus, et tõlgendada andmemudeleid HTML ankeetideks,
  • vahemälu süsteem mitmekülgseks kasutuseks nagu näiteks sessiooniinfo hoiustamiseks,
  • tugi vahefunktsioonidele ja vaheklassidele, et sekkuda kolmanda osapoole funktsionaalsusega erinevatel andmeedastus- ja töötlusetappidel,
  • Django raamistiku sisene jagaja, mis lubab erinevatel raamistiku komponentidel suhelda üksteisega ette defineeritud signaalidega,
  • mitmekeelne tõlkesüsteem,
  • andmebaasi ja Django mudelite tõlkesüsteem XML ja JSON keelteks,
  • võimekus laiendada Django baasmootorit,
  • Django raamistiku sisse ehitatud raamistik testimiseks [5].

Enne Django 3.0 versiooni, oli Django raamistik ehitatud WSGI printsiibile, peale mida hakati implementeerima ASGI vaadete ehitust ning üleüldse asünkroonsust [1].

Django rakenduste serverid[muuda | muuda lähteteksti]

Django veebirakenduste raamistik toetab ametlikult viit andmebaasi [5]:

Django rakendusi saab jooksutada kasutades Apache, Nginx, Gunicorn, Cherokee või flup serveritega. Django samuti sisaldab võimalust kasutada FastCGI serverit, lubades kasutust iga veebi serveri taga, mis kasutab FastCGI-d nagu näiteks Lighttpd või Hiawatha. Samuti on Djangot võimalik rakendada teiste WSGI-tüüpi veebiserveritega [6].

Viited[muuda | muuda lähteteksti]