Pregled osnov Pythona in ustvarjanje vaše prve spletne aplikacije z Django - 2. del


Kot smo na kratko komentirali zadnji članek te serije, je Django brezplačen in odprtokodni spletni okvir, ki razvoj aplikacij spremeni v hitrejšo nalogo, ki se izvaja na učinkovitejši način - z vidika programerja.

Da bi to naredil, Django sledi vzorcu zasnove MVC (Model - View - Controller), ali kot je navedeno v njihovih pogostih vprašanjih, ga je mogoče bolje opisati kot okvir MTV (Model - Template - View).

V Djangu »pogled« opisuje, kateri podatki so predstavljeni uporabniku, predloga pa opisuje, kako so podatki predstavljeni. Nazadnje, model je vir informacij o podatkih v aplikaciji.

V tem članku bomo pregledali nekaj osnov Pythona in v naslednji vadnici razložili, kako pripraviti svoje okolje za ustvarjanje preproste spletne aplikacije.

Spoznajte nekaj osnov Pythona

Kot objektno usmerjen programski jezik Python stvari organizira v zbirko predmetov z lastnostmi (znanimi tudi kot atributi) in metodami (znanimi tudi kot akcije). To nam omogoča, da enkrat definiramo objekt in nato ustvarimo več primerkov takih predmetov z enako strukturo lastnosti in metod, ne da bi morali vsakič zapisati vse iz nič. Predmeti so tako opredeljeni z razredi, ki jih predstavljajo.

Na primer, objekt osebe lahko definiramo na naslednji način:

  1. Person.height
  2. Oseba.teža
  3. Person.age
  4. Oseba.etničnost

  1. Person.eat()
  2. Person.sleep()
  3. Person.walk()

Kot v večini programskih jezikov je lastnost definirana z imenom predmeta, ki mu sledi pika in imenom atributa, medtem ko je metoda navedena na enak način, vendar ji sledi tudi par oklepajev (ki so lahko prazni ali ne - v v zadnjem primeru lahko vsebuje spremenljivko, pri vrednosti katere bo metoda delovala, na primer Person.eat (torta) ali Person.sleep (zdaj), če naštejemo le nekaj primerov).

Za določitev metod v Pythonu boste uporabili ključno besedo def, ki ji sledi ime metode in nabor oklepajev, z neobveznim predmetom, kot boste videli čez minuto.

Vse to bo postalo veliko bolj jasno v naslednjem poglavju, kjer bomo potopili v pravi primer.

Ustvarjanje strukture spletne aplikacije

Kot se morda spomnite iz 1. dela te serije Django, smo rekli, da spletna aplikacija za shranjevanje podatkov zahteva bazo podatkov. Ko ustvarite aplikacijo, Django samodejno nastavi bazo podatkov Sqlite, ki je v redu za majhne do srednje velike aplikacije in bomo v tem primeru uporabili za shranjevanje podatkov za klasično spletno aplikacijo: blog.

Če želite zagnati novo aplikacijo znotraj projekta (mimogrede, projekt si lahko predstavljate kot zbirko spletnih aplikacij), po aktiviranju navideznega okolja, ki smo ga nastavili v 1. delu te serije, zaženite naslednji ukaz.

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

Upoštevajte, da lahko ime aplikacije (myblog) spremenite za ime, ki ste ga izbrali - to je samo identifikator aplikacije (upoštevajte, da se vsa opravila upravljanja prikličejo s skriptom manage.py prek python binarni - raziščite njegovo izvorno kodo, če imate minuto):

Zdaj pa pojdimo v notranji imenik myfirstdjangoproject in poiščimo datoteko settings.py , kjer bomo Djangu rekli, naj myblog uporablja kot aplikacijo:

# cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

Poiščite razdelek INSTALLED_APPS in dodajte myblog znotraj posameznih narekovajev, kot je prikazano spodaj:

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

(Mimogrede, vrstice, ki se začnejo z django zgoraj, predstavljajo druge aplikacije Django, ki se v trenutnem projektu samodejno aktivirajo, ko je prvič ustvarjen in naj bi razvijalcu pomagale pri pisanju kode, povezane z administracijo, preverjanjem pristnosti, izjavami o vrstah vsebine itd.) v svoji prošnji).

Tako se bo myblog aktiviral skupaj z drugimi vgrajenimi aplikacijami v tem primerku Django.