Django delavnica je zasebni virtualni Linux strežnik.

Ima lastno IP številko.

Administrator strežnika ima vse pravice za nadzor strežnika in uporabnikov. Strežnik lahko upravlja preko terminala ali s kontrolno ploščo. Uporabniki lahko uporabljajo strežnik v skladu s pravicami, ki jim jih dodeli administrator.

Strežnik je nadgrajen z orodjarno Django, ki temelji na programskem jeziku Python in omogoča razvoj, testiranje in izvajanje spletnih aplikacij in sistemov za upravljanje vsebine.

V Django delavnici je nameščen vzorčni Django projekt z administracijo in aplikacijo. Projekt je izveden po originalnih navodilih, kako napisati prvo Django aplikacijo, ki tudi začetniku dajejo zadostno znanje, da se loti pisanja svoje aplikacije.

Django dokumentacija >>

Navodila za uporabo


Upravljanje strežnika

Administrator lahko s kontrolno ploščo spreminja nastavitve strežnika ali dodaja funkcionalnosti.

Strežnik je opremljen tako, da za delovanje Django delavnice niso potrebne dodatne namestitve in nastavitve.

 

Delo na strežniku

S strežnikom se lahko uporabnik poveže s terminalom, SFTP odjemalcem in spletnim brskalnikom.

Terminal

Uporaben je Windows Ukazni poziv.

S terminalom se povežemo s strežnikom preko SSH vrat z ukazom:

   ssh uporabniško-ime@IP-strežnika   

Vpišemo geslo in nahajamo se na strežniku v domači mapi uporabnika.

Strežnik razume Linux ukaze.


SFTP odjemalec

Uporaben je WinSCP, ki ga lahko brezplačno prenesemo z lokacije:

https://winscp.net/eng/download.php

Po namestitvi se prijavimo:

Uporabnikova domača mapa je:

/home/uporabniško-ime

Ta vsebuje mapo dj-pollls, ki vsebuje mapo vzorčnega projekta mysite, mapo vzorčne aplikacije polls in mapo stunnel, ki vsebuje nastavitve https povezave.

 

Razvoj in testiranje projekta

V oknu terminala se nahajamo na strežniku v uporabnikovi domači mapi.

Ukaz   ls   pokaže vsebino domače mape: mapo dj-polls.

Vanjo se premaknemo z ukazom   cd dj-polls  

Mapa vebuje datoteke:

db.sqlite3 (podatkovna baza projekta)
manage.py (program, ki prebere nastavitve projekta in zažene Django razvojni strežnik)

runserver (Django razvojni strežnik)

in mape:

mysite (projekt)
polls (aplikacija)
stunnel (nastavitve https)

Z ukazom:

  stunnel stunnel/dev_https  

zaženemo servis, ki omogoča dostop preko https povezave. V datoteki stunnel/dev_https sta zapisani vrati, na katerih tečeta https servis in Django strežnik. Vsak uporabnik ima pripisan svoj  par vrat.

Odpremo še eno okno terminala, se prijavimo in se zopet postavimo v mapo dj-pools.

Z ukazom:

  HTTPS=1 python manage.py runserver 127.0.0.1:YYYY  

(npr: HTTPS=1 python manage.py runserver 127.0.0.1:8012)

zaženemo Django razvojni servis.

Oken terminala ne zapremo. Odpremo brskalnik.

Na naslovu
https://XXX.XXX.XXX.XXX:YYYYY/polls/
(IP-strežnika:VRATA-Django-razvojnega-strežnika)

bomo videli vzorčno aplikacijo,

na naslovu
https://XXX.XXX.XXX.XXX:YYYYY/admin/

pa administracijo aplikacije.

Če strežnik uporablja lastnoročno podpisan certifikat, bo brskalnik vprašal ali zaupamo povezavi. Potrdimo, ker se prijavljamo na lasten strežnik in mu lahko zaupamo.

Vzorčna Django aplikacija

https://XXX.XXX.XXX.XXX:YYYYY/polls/

Django administracija

https://XXX.XXX.XXX.XXX:YYYYY/admin/


V oknu brskalnika testiramo aplikacijo, v oknu terminala pa spremljamo pogovor med brskalnikom in Django strežnikom.

S SFTP odjemalcem WinSCP pišemo in urejamo izvorno kodo projektov.

Ko prenehamo z delom, v Ukaznem pozivu zaustavimo servisa s tipkama    Ctrl   +    c  

Ukazni poziv zapustimo s    Ctrl   +    d  

 

Težave?

Če servis https že teče in ga poskusimo na istih vratih ponovno zagnati, vidimo napako. Uporabimo ukaz

  netstat -ntlp  

Poiščemo vrstico servisa (npr. 0.0.0.0:44312) in pogledamo PID.

Uporabimo ukaz   kill -9 PID   (npr. kill -9 12570) in ponovno zaženemo servis.

Podobno ravnamo, če imamo težavo z Django strežnikom.

Django delavnica je eden izmed načinov uporabe zasebnega virtualnega strežnika, sicer pa uporabniku dopušča popolno svobodo in prilagoditev lastnim namenom uporabe.

Django dokumentacija >>