Kehitä vahva ymmärrys projektien ja sovellusten rooleista ja toiminnoista Django-kehyksen sisällä.
Djangossa voit käyttää kahta pääkomponenttia verkkosovelluksen luomiseen; sovelluksia ja projekteja. Kehittäjät käyttävät joskus näitä termejä vaihtokelpoisesti, vaikka niillä on erilliset merkitykset ja toiminnot Django-verkkokehyksessä.
Django-projektien ymmärtäminen
Djangossa projekti on huipputason säilö verkkosovelluksellesi. Projekti sisältää verkkosovelluksesi ja yhden tai useamman sovelluksen määritykset, joista jokainen tarjoaa tietyn joukon toimintoja tai ominaisuuksia verkkosovelluksellesi. Se sisältää myös kaikki komponentit, jotka jaetaan sen eri sovellusten välillä. Django-projektissa voit löytää työkaluja ja apuohjelmia, jotka helpottavat verkkosovelluksesi hallintaa, kuten Django-komentorivityökalu ja Django-kehityspalvelin.
Django-projektin osat
Django-projekti sisältää yleensä erilaisia sovelluksia ja verkkosovelluksesi kokoonpanoja. Aina kun luot uuden projektin, Django luo automaattisesti nämä kokoonpanot sisältävät tiedostot. Django-projektiin sisältyvät komponentit ovat:
- asetukset: Asetusmoduuli sisältää projektillesi ja projektisi yksittäisille sovelluksille tarvittavat kokoonpanot. Tämä moduuli sisältää ensisijaisesti määritysvaihtoehtoja, kuten tietokantayhteyden, väliohjelmiston, asennetun sovelluksen, sallitut isännät ja muut kokoonpanot, joita verkkosovelluksesi tarvitsee toimiakseen.
- URL-osoitteet: URL-osoitemoduuli määrittää URL-mallin sovelluksellesi. Jokainen projektisi URL-osoitemalli voi joko yhdistää toiseen URL-malliin sovelluksessasi tai suoraan näkymätoimintoon, joka käsittelee tietyn URL-osoitteen pyynnön. Riippumatta siitä, liittyykö URL-osoitemalli näkymätoimintoon tai toiseen sovelluksesi URL-malliin, perimmäisenä tavoitteena on kartoittaa se näkymään, joka käsittelee pyynnön tehokkaasti.
- WSGI: WSGI (Web Server Gateway Interface) -moduuli on Python-standardi web-palvelimille ja sovelluksille. WSGI-moduuli mahdollistaa Djangon käytön useilla palvelimilla.
- ASGI: ASGI (Asynchronous Server Gateway Interface) -moduuli käsittelee asynkronisia pyyntöjä, kuten WebSockets-yhteydet. ASGI on standardi asynkronisille web-palvelimille kommunikoimaan Python-verkkosovellusten kanssa.
- Muut komponentit: Joskus sinun on lisättävä omia komponenttejasi Django-projektiisi sovelluksesi vaatimuksista riippuen. Näitä osia ovat staattiset tiedostot, mallit, mediatiedostot ja mukautetut hallintakomennot.
Kuinka luoda Django-projekti
Luodaksesi Django-projektin, sinun tulee käyttää django-admin komentorivin apuohjelma. Voit luoda Django-projektisi seuraavasti:
- Siirry komentorivikäyttöliittymässäsi hakemistoon, johon haluat luoda Django-projektisi.
- Asenna Django pip-pakettienhallinnan avulla.
pip asennus django
- Kirjoita seuraava komento ja suorita se:
django-admin aloitusprojekti
Yllä oleva komento luo seuraavanlaisen hakemiston:
Huomaat redundanssin projektihakemistosi nimissä, ts. projektisi nimi näkyy kahdesti. Jos haluat päästä eroon tästä, voit lisätä ajanjakson, kun käytät omaa aloitusprojekti komento näin:
django-admin aloitusprojekti .
Nyt projektisi rakenne näyttää tältä:
Yllä olevien vaiheiden avulla sinun on luotu Django-projekti onnistuneesti. The manager.py projektissasi luotu tiedosto on tärkeä vuorovaikutuksessa Django-projektisi kanssa.
Django-sovelluksen ymmärtäminen
Sovelluksen tarkoitus on tarjota Django-projektillesi tiettyjä toimintoja. Sovellus auttaa sinua järjestämään koodikantasi jakamalla projektisi toiminnot pienempiin osiin.
Esimerkiksi blogiprojektissa sinulla on sovellus, joka on omistettu todennukseen ja valtuutukseen, ja toinen, joka on omistettu blogikirjoituksille. Voit luoda useita sovelluksia projektisi erityistarpeiden mukaan.
Django-sovelluksen komponentit
Django-sovellus koostuu moduuleista, jotka liittyvät projektiin eli tiettyyn verkkosivustosi ominaisuuteen. Kuten projekteissa, Django luo automaattisesti hyödyllisiä tiedostoja, kun luot sovelluksen. Djangon luomat tiedostot sisältävät seuraavat:
- views.py: Tämä tiedosto sisältää kaiken pyyntöjen vastaanottamiseen ja vastausten lähettämiseen tarvittavan logiikan. Se myös määrittää, mikä HTML-malli renderöidään käyttäjän verkkosivustollasi tekemien toimien perusteella.
- mallit.py: Tämä moduuli määrittää sovelluksesi tietorakenteen ja kuinka tietokanta tallentaa ne. Se käyttää Djangon ORM-tekniikkaa (Object-Relational Mapping) tietojen määrittämiseen. Mallikomponentti määrittelee erilaisia tietokantasuhteet Djangossa.
- admin.py: Admin-moduuli määrittää Django-sovelluksesi hallintaliittymän. Sinun tulee rekisteröidä mallisi admin-tiedoston sisällä. Jos tarvitset Djangon tarjoamien lisäksi muita järjestelmänvalvojan toimintoja, voit määrittää mukautettuja näkymiä järjestelmänvalvojan käyttöliittymällesi tässä moduulissa.
- urls.py: Tämä tiedosto määrittää URL-mallit tai reitit, jotka ovat yksilöllisiä tietylle Django-sovellukselle. Joskus Django ei luo tätä tiedostoa automaattisesti. Jos näin käy, voit luoda sen manuaalisesti sovellushakemistossasi.
Django tuottaa joitain muita komponentteja, kuten apps.py ja testit.py. Nämä tiedostot määrittävät sovelluskokoonpanosi ja antavat sinun kirjoittaa vastaavasti yksikkötestejä.
Kuinka luoda Django-sovellus
Ennen kuin luot sovelluksen, sinun on luotava projekti. Kun olet luonut projektin, siirry hakemistoon, joka sisältää manager.py tiedosto ja suorita seuraava komento päätteessäsi:
python manage.py aloitusprojekti
Yllä oleva komento luo tämän kaltaisen kansiorakenteen samalle hakemistotasolle kuin projektisi:
Ero sovelluksen ja projektin välillä Djangossa
Django-projektin ja sovelluksen välillä on joitain selviä eroja. Jotkut niistä on lueteltu alla.
Koodin uudelleenkäyttö
Djangossa sovellus on verkkosovelluksesi uudelleenkäytettävä osa. Tämä tarkoittaa, että jos sinulla on sovellus, joka käsittelee käyttäjän todennusta yhdelle projektille, voit käyttää samaa sovellusta uudelleen toisessa projektissa pienin tai ilman muutoksia. Toisaalta projektia ei voi käyttää uudelleen. Kun olet luonut projektin tietylle verkkosovellukselle, et voi käyttää sitä toisessa sovelluksessa.
Toiminnan laajuus
Projekti toimii korkeammalla tasolla kuin sovellus, koska se vastaa verkkosivustosi yleisestä määrittelystä ja hallinnasta. Toisaalta sovellus on vastuussa vain verkkosivustosi tietystä ominaisuudesta tai toiminnallisuudesta.
Kansion rakenne
Ilmeisin ero sovelluksen ja projektin välillä on niiden kansiorakenteet. Projekti sisältää yleensä asetuksia ja muita konfiguraatiotiedostoja, jotka vastaavat verkkosivustosi hyvinvoinnista.
Sovellus seuraa Djangon MVT-arkkitehtuuri. Se sisältää vain tiedostoja ja määrityksiä, jotka vastaavat verkkosivustosi tietyn ominaisuuden hyvinvoinnista.
Projektisi ja sovelluksesi luovat yhdessä hyvän verkkosovelluksen
Vaikka projektisi ja sovelluksesi ovat ainutlaatuisia, niitä käytetään lopulta saumattoman kokemuksen tarjoamiseen sovelluksesi rakentamisessa. Sinun pitäisi pystyä yhdistämään sekä projektin että sovelluksen komponentit luodaksesi ja mukauttaaksesi verkkosovelluksesi. Kun sovelluksesi ja projektisi ovat valmiina, voit aloittaa verkkosivustosi rakentamisen Djangon avulla.