Pregled osnova Pythona i stvaranje vaše prve web aplikacije s Djangom - 2. dio


“Ovaj je članak revidiran i ažuriran najnovijom verzijom Djanga – svibanj 2016.”

Kao što smo ukratko komentirali zadnji članak ove serije, Django je besplatni web okvir otvorenog koda koji razvoj aplikacija pretvara u brži zadatak koji se obavlja na učinkovitiji način – sa stajališta programera.

Instaliranje i konfiguriranje Django web okvira s virtualnim okruženjima – 1. dio

Da bi to učinio, Django slijedi obrazac dizajna MVC (ModelViewController) ili kao njihova često postavljana pitanja stanje, bolje se može opisati kao MTV (ModelPredložakPrikaz) okvir.

U Djangu, “prikaz” opisuje koji su podaci prikazani korisniku, dok predložak opisuje kako su podaci predstavljeni. Konačno, model je izvor informacija o podacima u aplikaciji.

U ovom ćemo članku pregledati neke osnove Pythona i objasniti kako pripremiti svoje okruženje za izradu jednostavne web aplikacije u sljedećem vodiču.

Naučite neke osnove Pythona

Kao objektno orijentirani programski jezik, Python organizira stvari u kolekciju objekata sa svojstvima (također poznatim kao atributi) i metodama (također poznatim kao radnje). To nam omogućuje da jednom definiramo objekt i zatim stvorimo više instanci takvih objekata s istom strukturom svojstava i metoda bez potrebe da svaki put pišemo sve ispočetka. Objekti su stoga definirani klasama koje ih predstavljaju.

Na primjer, objekt Osoba može se definirati na sljedeći način:

Svojstva:
  1. Osoba.visina
  2. Osoba.težina
  3. Osoba.dob
  4. Osoba.nacionalnost
metode:
  1. Osoba.jesti()
  2. Osoba.sleep()
  3. Person.walk()

Kao i u većini programskih jezika, svojstvo definirano je imenom objekta nakon kojeg slijedi točka i naziv atributa, dok je metoda naznačena u na isti način, ali također nakon njih slijedi par zagrada (koje mogu biti prazne ili ne – u potonjem slučaju mogu sadržavati varijablu prema čijoj će vrijednosti metoda djelovati, kao što je Person.eat(cake) ili Person.sleep(now), da spomenemo nekoliko primjera).

Da biste definirali metode u Pythonu, upotrijebit ćete ključnu riječ def, iza koje slijedi naziv metode i skup zagrada, s izbornim objektom kao što ćete vidjeti za minutu.

Sve će ovo postati mnogo jasnije tijekom sljedećeg odjeljka gdje ćemo zaroniti u pravi primjer.

Izrada strukture web aplikacije

Kao što se možda sjećate iz 1. dijela ove Django serije, rekli smo da web aplikacija zahtijeva bazu podataka za pohranu podataka. Kada izradite aplikaciju, Django automatski postavlja Sqlite bazu podataka koja savršeno funkcionira za aplikacije male do srednje veličine, a to je ono što ćemo u ovom slučaju koristiti za pohranjivanje podataka za klasični prvi web aplikacija: blog.

Za pokretanje nove aplikacije unutar projekta (usput, projekt možete zamisliti kao skup web aplikacija), pokrenite sljedeću naredbu nakon aktiviranja virtualnog okruženja koje smo postavili u 1. dijelu ove serije.


cd ~/myfirstdjangoenv/
source myfirstdjangoenv/bin/activate
cd ~/myfirstdjangoenv/myfirstdjangoproject
python manage.py startapp myblog

Napomena da možete promijeniti naziv aplikacije (myblog) za naziv po vlastitom izboru – ovo je samo identifikator za aplikaciju (molimo imajte na umu da se svi zadaci upravljanja pozivaju pomoću skripte manage.py putem binarne datoteke python – slobodno istražite njen izvorni kod ako imate minutu):

Idemo sada unutar unutarnjeg direktorija myfirstdjangoproject i pronađimo datoteku settings.py, gdje ćemo reći Djangu da koristi myblog kao aplikaciju:


cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

Potražite odjeljak INSTALLED_APPS i dodajte myblog unutar jednostrukih navodnika kao što je prikazano u nastavku:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myblog'
)

(Usput, reci koji počinju s django iznad predstavljaju druge Django aplikacije koje se aktiviraju u trenutnom projektu automatski kada se prvi put stvori i trebaju pomoći programeru u pisanju koda koji se odnosi na administraciju, provjeru autentičnosti , deklaracije tipa sadržaja, i tako dalje, u njegovoj / njezinoj aplikaciji).

Stoga će se myblog aktivirati, zajedno s ostalim ugrađenim aplikacijama, u ovoj Django instanci.