Razviti močno razumevanje vlog in funkcij projektov in aplikacij v okviru Django.

V Djangu lahko uporabite dve glavni komponenti za ustvarjanje spletne aplikacije; aplikacije in projekti. Razvijalci te izraze včasih uporabljajo zamenljivo, čeprav imajo v spletnem ogrodju Django različne pomene in funkcije.

Razumevanje projektov Django

V Djangu je projekt vsebnik najvišje ravni za vašo spletno aplikacijo. Projekt vsebuje konfiguracije za vašo spletno aplikacijo in eno ali več aplikacij, od katerih vsaka zagotavlja poseben nabor funkcij ali funkcij za vašo spletno aplikacijo. Vsebuje tudi vse komponente, ki si jih delijo različne aplikacije. V projektu Django lahko najdete orodja in pripomočke, ki olajšajo upravljanje vaše spletne aplikacije, kot sta pripomoček za ukazno vrstico Django in razvojni strežnik Django.

Komponente projekta Django

Projekt Django običajno vsebuje različne aplikacije in konfiguracije vaše spletne aplikacije. Kadar koli ustvarite nov projekt, Django samodejno ustvari datoteke, ki vsebujejo te konfiguracije. Komponente, vključene v projekt Django, so:

  1. nastavitve: Modul z nastavitvami vsebuje konfiguracije, potrebne za vaš projekt in posamezne aplikacije v vašem projektu. Ta modul vsebuje predvsem konfiguracijske možnosti, kot so povezava z bazo podatkov, vmesna programska oprema, nameščena aplikacija, dovoljeni gostitelji in druge konfiguracije, potrebne za delovanje vaše spletne aplikacije.
  2. URL-ji: Modul URL-jev definira vzorec URL-jev za vašo aplikacijo. Vsak vzorec URL-ja v vašem projektu se lahko preslika v drug vzorec URL-ja v vaši aplikaciji ali neposredno v funkcijo pogleda, ki obravnava zahtevo za določen URL. Ne glede na to, ali se vzorec URL-ja preslika v funkcijo pogleda ali drug vzorec URL-ja v vaši aplikaciji, je končni cilj, da ga preslikate v pogled, ki učinkovito obravnava zahtevo.
  3. WSGI: Modul WSGI (Web Server Gateway Interface) je standard Python za spletne strežnike in aplikacije. Modul WSGI omogoča, da Django deluje na različnih strežnikih.
  4. ASGI: Modul ASGI (Asynchronous Server Gateway Interface) obravnava asinhrone zahteve, kot je npr. Povezave WebSockets. ASGI je standard za asinhrone spletne strežnike za komunikacijo s spletnimi aplikacijami Python.
  5. Druge komponente: Včasih boste morali svojemu projektu Django dodati svoje komponente, odvisno od zahtev vaše aplikacije. Te komponente vključujejo statične datoteke, predloge, medijske datoteke in ukaze za upravljanje po meri.

Kako ustvariti projekt Django

Če želite ustvariti projekt Django, morate uporabiti django-admin pripomoček ukazne vrstice. Projekt Django lahko ustvarite tako, da sledite tem korakom:

  1. V vmesniku ukazne vrstice se pomaknite do imenika, v katerem želite ustvariti svoj projekt Django.
  2. Namestite Django z upraviteljem paketov pip.
    pip namestite django
  3. Vnesite naslednji ukaz in ga zaženite:
    django-admin startproject 

Zgornji ukaz bo ustvaril tak imenik:

Opazili boste odvečnost v imenih imenika vašega projekta, tj. ime vašega projekta se pojavi dvakrat. Če se želite tega znebiti, lahko dodate obdobje, ko izvajate svoj zagon projekta ukaz takole:

django-admin startproject  .

Zdaj bo struktura vašega projekta videti takole:

Z zgornjimi koraki morate uspešno ustvariti projekt Django. The upravljati.py datoteka, ustvarjena v vašem projektu, je pomembna za interakcijo z vašim projektom Django.

Razumevanje aplikacije Django

Namen aplikacije je zagotoviti vašemu projektu Django posebno funkcionalnost. Aplikacija vam pomaga organizirati kodno zbirko tako, da funkcionalnosti vašega projekta razdeli na manjše komponente.

Na primer, v projektu spletnega dnevnika boste imeli aplikacijo, namenjeno preverjanju pristnosti in avtorizaciji, ter drugo, namenjeno objavam v spletnem dnevniku. Ustvarite lahko več aplikacij glede na posebne potrebe vašega projekta.

Komponente aplikacije Django

Aplikacija Django je sestavljena iz modulov, ki so povezani s projektom, torej z določeno funkcijo vašega spletnega mesta. Tako kot pri projektu tudi Django samodejno ustvari uporabne datoteke, ko ustvarite aplikacijo. Datoteke, ki jih ustvari Django, vključujejo naslednje:

  1. views.py: Ta datoteka bo vsebovala vso potrebno logiko za prejemanje zahtev in pošiljanje odgovorov. Prav tako določa, katero predlogo HTML naj upodablja glede na dejanja uporabnika na vašem spletnem mestu.
  2. models.py: Ta modul vzpostavi podatkovno strukturo vaše aplikacije in določi, kako jo bo zbirka podatkov shranila. Za definiranje podatkov uporablja Djangov ORM (Object-Relational Mapping). Komponenta modelov določa različne razmerja baze podatkov v Djangu.
  3. admin.py: Skrbniški modul definira skrbniški vmesnik vaše aplikacije Django. Svoje modele morate registrirati v skrbniški datoteki. Če potrebujete dodatne skrbniške funkcije poleg tistih, ki jih ponuja Django, lahko v tem modulu določite poglede po meri za svoj skrbniški vmesnik.
  4. urls.py: Ta datoteka definira vzorce URL ali poti, edinstvene za določeno aplikacijo Django. Včasih Django te datoteke ne ustvari samodejno. Če se to zgodi, ga lahko ročno ustvarite v imeniku aplikacij.

Django ustvari nekatere druge komponente, kot npr apps.py in testi.py. Te datoteke definirajo konfiguracije vaše aplikacije in vam omogočajo pisanje testov enote.

Kako ustvariti aplikacijo Django

Preden ustvarite aplikacijo, morate ustvariti projekt. Ko ustvarite svoj projekt, se pomaknite do imenika, ki vsebuje upravljati.py datoteko in v terminalu zaženite naslednji ukaz:

python manage.py startproject 

Zgornji ukaz bo ustvaril strukturo map, kot je ta, na isti ravni imenika kot vaš projekt:

Razlika med aplikacijo in projektom v Djangu

Obstaja nekaj izrazitih razlik med projektom in aplikacijo v Djangu. Nekateri od njih so navedeni spodaj.

Ponovna uporabnost kode

V Djangu je aplikacija ponovno uporabna komponenta vaše spletne aplikacije. To pomeni, da če imate aplikacijo, ki obravnava preverjanje pristnosti uporabnikov za en projekt, lahko isto aplikacijo ponovno uporabite v drugem projektu z malo spremembami ali brez njih. Po drugi strani pa projekta ni mogoče ponovno uporabiti. Ko ustvarite projekt za določeno spletno aplikacijo, ga ne morete uporabiti za drugo aplikacijo.

Področje delovanja

Projekt deluje na višji ravni kot aplikacija, ker je odgovoren za celotno konfiguracijo in upravljanje vašega spletnega mesta. Po drugi strani pa je aplikacija odgovorna samo za določeno funkcijo ali funkcionalnost vašega spletnega mesta.

Struktura mape

Najbolj očitna razlika med aplikacijo in projektom je njuna struktura map. Projekt običajno vključuje nastavitve in druge konfiguracijske datoteke, ki so odgovorne za dobro počutje vašega spletnega mesta.

Sledi aplikacija Djangova arhitektura MVT. Vsebuje le datoteke in konfiguracije, ki so odgovorne za dobro počutje določene funkcije vašega spletnega mesta.

Vaš projekt in aplikacija skupaj ustvarjata dobro spletno aplikacijo

Čeprav sta vaš projekt in aplikacija edinstvena, se na koncu uporabita za brezhibno izkušnjo pri izdelavi aplikacije. Morali bi imeti možnost združiti komponente projekta in aplikacije, da bi zgradili in prilagodili svojo spletno aplikacijo. Z vašo aplikacijo in projektom lahko začnete graditi svoje spletno mesto z Django.