Sukurkite tvirtą projektų ir programų vaidmenų ir funkcijų supratimą „Django“ sistemoje.

Django galite naudoti du pagrindinius komponentus, kad sukurtumėte žiniatinklio programą; programėlės ir projektai. Kūrėjai kartais vartoja šiuos terminus pakaitomis, nors jie turi skirtingas reikšmes ir funkcijas Django žiniatinklio sistemoje.

Django projektų supratimas

„Django“ projektas yra aukščiausio lygio jūsų žiniatinklio programos talpykla. Projekte yra jūsų žiniatinklio programos konfigūracijos ir viena ar daugiau programų, kurių kiekviena suteikia tam tikrą jūsų žiniatinklio programos funkcijų arba funkcijų rinkinį. Jame taip pat yra komponentų, kuriais dalijasi įvairios programos. „Django“ projekte galite rasti įrankių ir paslaugų, palengvinančių jūsų žiniatinklio programos valdymą, pvz., „Django“ komandų eilutės įrankį ir „Django“ kūrimo serverį.

Django projekto komponentai

„Django“ projekte paprastai yra skirtingų programų ir jūsų žiniatinklio programos konfigūracijų. Kai kuriate naują projektą, „Django“ automatiškai generuoja failus, kuriuose yra šios konfigūracijos. Į Django projektą įtraukti komponentai yra šie:

instagram viewer

  1. Nustatymai: nustatymų modulyje yra konfigūracijos, reikalingos jūsų projektui ir atskiroms jūsų projekto programoms. Šiame modulyje visų pirma yra konfigūracijos parinktys, pvz., duomenų bazės ryšys, tarpinė programinė įranga, įdiegta programa, leidžiami pagrindiniai prieglobos ir kitos konfigūracijos, reikalingos jūsų žiniatinklio programai veikti.
  2. URL: URL modulis apibrėžia jūsų programos URL šabloną. Kiekvienas jūsų projekto URL šablonas gali būti susietas su kitu URL šablonu jūsų programoje arba tiesiogiai su rodinio funkcija, kuri apdoroja konkretaus URL užklausą. Nesvarbu, ar URL šablonas susietas su rodinio funkcija, ar su kitu URL šablonu jūsų programoje, galutinis tikslas yra susieti jį su rodiniu, kuris efektyviai apdoroja užklausą.
  3. WSGI: WSGI (Web Server Gateway Interface) modulis yra Python standartas žiniatinklio serveriams ir programoms. WSGI modulis leidžia „Django“ veikti įvairiuose serveriuose.
  4. ASGI: ASGI (asynchronous Server Gateway Interface) modulis apdoroja asinchronines užklausas, pvz. „WebSockets“ jungtys. ASGI yra asinchroninių žiniatinklio serverių, skirtų bendrauti su Python žiniatinklio programomis, standartas.
  5. Kiti komponentai: Kartais jums reikės pridėti savo komponentus prie savo Django projekto, atsižvelgiant į jūsų programos reikalavimus. Šie komponentai apima statinius failus, šablonus, medijos failus ir pasirinktines valdymo komandas.

Kaip sukurti Django projektą

Norėdami sukurti Django projektą, turėtumėte naudoti django-admin komandinės eilutės įrankis. Savo Django projektą galite sukurti atlikdami šiuos veiksmus:

  1. Komandinės eilutės sąsajoje eikite į katalogą, kuriame norite sukurti „Django“ projektą.
  2. Įdiekite „Django“ naudodami „pip“ paketų tvarkyklę.
    pip įdiegti django
  3. Įveskite šią komandą ir paleiskite ją:
    django-admin startprojektas 

Aukščiau pateikta komanda sukurs tokį katalogą:

Pastebėsite savo projekto katalogo pavadinimų perteklių, t. y. jūsų projekto pavadinimas pasirodo du kartus. Jei norite to atsikratyti, galite pridėti laikotarpį, kai paleidžiate savo starto projektas tokia komanda:

django-admin startprojektas  .

Dabar jūsų projekto struktūra atrodys taip:

Atlikdami aukščiau nurodytus veiksmus, turite sėkmingai sukurti Django projektą. The valdyti.py Jūsų projekte sukurtas failas yra svarbus sąveikaujant su Django projektu.

„Django“ programos supratimas

Programėlės tikslas – suteikti jūsų Django projektui specifines funkcijas. Programa padeda tvarkyti kodų bazę, suskaidydama projekto funkcijas į mažesnius komponentus.

Pavyzdžiui, tinklaraščio projekte turėsite programą, skirtą autentifikavimui ir autorizavimui, ir kitą, skirtą tinklaraščio įrašams. Galite sukurti kelias programas, atsižvelgdami į konkrečius projekto poreikius.

„Django“ programos komponentai

„Django“ programą sudaro moduliai, susiję su projektu, t. y. su konkrečia jūsų svetainės funkcija. Kaip ir projekte, Django automatiškai generuoja naudingus failus, kai kuriate programą. „Django“ sugeneruoti failai yra šie:

  1. views.py: Šiame faile bus visa logika, reikalinga užklausoms gauti ir atsakymams siųsti. Jis taip pat nustato, kurį HTML šabloną pateikti, atsižvelgiant į naudotojo veiksmus jūsų svetainėje.
  2. modeliai.py: Šis modulis nustato jūsų programos duomenų struktūrą ir nustato, kaip duomenų bazė juos saugos. Duomenims apibrėžti naudojamas Django ORM (Object-Relational Mapping). Modelių komponentas apibrėžia skirtingus duomenų bazių santykiai Django.
  3. admin.py: Administratoriaus modulis apibrėžia jūsų Django programos administravimo sąsają. Turėtumėte užregistruoti modelius administratoriaus faile. Jei jums reikia papildomų administratoriaus funkcijų, ne tik Django, šiame modulyje galite apibrėžti pasirinktinius administratoriaus sąsajos rodinius.
  4. urls.py: šis failas apibrėžia URL šablonus arba maršrutus, būdingus konkrečiai Django programai. Kartais Django automatiškai nesugeneruoja šio failo. Jei taip atsitiks, galite neautomatiškai sukurti jį savo programų kataloge.

Django generuoja kai kuriuos kitus komponentus, pvz apps.py ir testai.py. Šie failai apibrėžia jūsų programos konfigūracijas ir leidžia atitinkamai rašyti vienetų testus.

Kaip sukurti „Django“ programą

Prieš kurdami programą, turite būti sukūrę projektą. Sukūrę projektą, eikite į katalogą, kuriame yra valdyti.py failą ir paleiskite šią komandą savo terminale:

python manage.py startproject 

Aukščiau pateikta komanda sukurs tokią aplanko struktūrą tame pačiame katalogo lygyje kaip ir jūsų projektas:

Skirtumas tarp programos ir projekto Django

Yra keletas aiškių skirtumų tarp projekto ir programos Django. Kai kurie iš jų išvardyti žemiau.

Kodo pakartotinis naudojimas

„Django“ programėlė yra daugkartinis jūsų žiniatinklio programos komponentas. Tai reiškia, kad jei turite programą, kuri tvarko vieno projekto naudotojo autentifikavimą, galite pakartotinai naudoti tą pačią programą kitame projekte su mažais pakeitimais arba be jo. Kita vertus, projektas nėra pakartotinai naudojamas. Sukūrę projektą tam tikrai žiniatinklio programai, negalėsite jo naudoti kitai programai.

Veikimo sritis

Projektas veikia aukštesniu lygiu nei programa, nes jis atsakingas už bendrą jūsų svetainės konfigūraciją ir valdymą. Kita vertus, programa yra atsakinga tik už konkrečią jūsų svetainės funkciją ar funkcionalumą.

Aplanko struktūra

Akivaizdžiausias skirtumas tarp programos ir projekto yra jų aplankų struktūros. Projektas paprastai apima nustatymus ir kitus konfigūracijos failus, atsakingus už jūsų svetainės gerovę.

Toliau seka programėlė Django MVT architektūra. Jame yra tik failai ir konfigūracijos, atsakingos už konkrečios jūsų svetainės funkcijos gerovę.

Jūsų projektas ir programa dirba kartu, kad sukurtumėte gerą žiniatinklio programą

Nors jūsų projektas ir programa yra unikalūs, jie galiausiai naudojami siekiant suteikti jums sklandžią patirtį kuriant programą. Turėtumėte turėti galimybę derinti projekto ir programos komponentus, kad sukurtumėte ir tinkintumėte savo žiniatinklio programą. Turėdami programą ir projektą, galite pradėti kurti savo svetainę naudodami „Django“.