Rozvíjajte silné pochopenie úloh a funkcií projektov a aplikácií v rámci Django.

V Django môžete použiť dva primárne komponenty na vytvorenie webovej aplikácie; aplikácie a projekty. Vývojári niekedy používajú tieto výrazy zameniteľne, hoci majú odlišné významy a funkcie vo webovom rámci Django.

Pochopenie projektov Django

V Django je projekt kontajner najvyššej úrovne pre vašu webovú aplikáciu. Projekt obsahuje konfigurácie pre vašu webovú aplikáciu a jednu alebo viac aplikácií, pričom každá z nich poskytuje špecifickú sadu funkcií alebo vlastností pre vašu webovú aplikáciu. Obsahuje tiež všetky komponenty zdieľané medzi rôznymi aplikáciami. V projekte Django môžete nájsť nástroje a pomôcky, ktoré uľahčujú správu vašej webovej aplikácie, ako napríklad pomôcku príkazového riadka Django a vývojový server Django.

Komponenty projektu Django

Projekt Django zvyčajne obsahuje rôzne aplikácie a konfigurácie vašej webovej aplikácie. Vždy, keď vytvoríte nový projekt, Django automaticky vygeneruje súbory obsahujúce tieto konfigurácie. Komponenty zahrnuté v projekte Django sú:

instagram viewer
  1. nastavenie: Modul nastavení obsahuje konfigurácie potrebné pre váš projekt a jednotlivé aplikácie vo vašom projekte. Tento modul obsahuje predovšetkým možnosti konfigurácie, ako je pripojenie k databáze, middleware, nainštalovaná aplikácia, povolení hostitelia a ďalšie konfigurácie potrebné na fungovanie vašej webovej aplikácie.
  2. URL: Modul URL definuje vzor adresy URL pre vašu aplikáciu. Každý vzor adresy URL vo vašom projekte sa môže namapovať na iný vzor adresy URL vo vašej aplikácii alebo priamo na funkciu zobrazenia, ktorá spracováva požiadavku na konkrétnu adresu URL. Či už sa vzor adresy URL mapuje na funkciu zobrazenia alebo iný vzor adresy URL vo vašej aplikácii, konečným cieľom je namapovať ho na zobrazenie, ktoré efektívne spracuje požiadavku.
  3. WSGI: Modul WSGI (Web Server Gateway Interface) je štandardom Pythonu pre webové servery a aplikácie. Modul WSGI umožňuje Django bežať na rôznych serveroch.
  4. ASGI: Modul ASGI (Asynchronous Server Gateway Interface) spracováva asynchrónne požiadavky ako napr Pripojenia WebSockets. ASGI je štandard pre asynchrónne webové servery na komunikáciu s webovými aplikáciami Pythonu.
  5. Ostatné komponenty: Niekedy sa od vás bude vyžadovať pridanie vlastných komponentov do vášho projektu Django v závislosti od požiadaviek vašej aplikácie. Tieto komponenty zahŕňajú statické súbory, šablóny, mediálne súbory a vlastné príkazy správy.

Ako vytvoriť projekt Django

Na vytvorenie projektu Django by ste mali použiť django-admin nástroj príkazového riadku. Svoj projekt Django môžete vytvoriť podľa týchto krokov:

  1. V rozhraní príkazového riadka prejdite do adresára, kde chcete vytvoriť projekt Django.
  2. Nainštalujte Django pomocou správcu balíkov pip.
    pip nainštalovať django
  3. Zadajte nasledujúci príkaz a spustite ho:
    štartovací projekt django-admin 

Vyššie uvedený príkaz vytvorí adresár, ako je tento:

V názvoch vášho projektového adresára si všimnete redundanciu, t. j. názov vášho projektu sa zobrazí dvakrát. Ak sa toho chcete zbaviť, môžete pridať obdobie, kedy spustíte svoj štartprojekt príkaz takto:

štartovací projekt django-admin  .

Teraz bude štruktúra vášho projektu vyzerať takto:

Pomocou vyššie uvedených krokov musíte úspešne vytvoriť projekt Django. The spravovať.py súbor vytvorený vo vašom projekte je dôležitý pre interakciu s vaším projektom Django.

Pochopenie aplikácie Django

Účelom aplikácie je poskytnúť vášmu projektu Django špecifické funkcie. Aplikácia vám pomôže usporiadať vašu kódovú základňu rozdelením funkcií vášho projektu na menšie komponenty.

Napríklad v blogovom projekte budete mať aplikáciu určenú na overovanie a autorizáciu a ďalšiu na blogové príspevky. Môžete vytvoriť viacero aplikácií na základe špecifických potrieb vášho projektu.

Komponenty aplikácie Django

Aplikácia Django pozostáva z modulov súvisiacich s projektom, t. j. so špecifickou funkciou vášho webu. Rovnako ako v prípade projektu, Django automaticky generuje užitočné súbory pri vytváraní aplikácie. Súbory generované Django zahŕňajú nasledujúce:

  1. views.py: Tento súbor bude obsahovať všetku logiku potrebnú na prijímanie požiadaviek a odosielanie odpovedí. Určuje tiež, ktorá šablóna HTML sa má vykresliť na základe akcií používateľa na vašom webe.
  2. modely.py: Tento modul vytvára dátovú štruktúru vašej aplikácie a určuje, ako ju bude databáza ukladať. Na definovanie údajov používa Django's ORM (Object-Relational Mapping). Komponent modely definuje rôzne databázové vzťahy v Django.
  3. admin.py: Administračný modul definuje administračné rozhranie vašej aplikácie Django. Svoje modely by ste mali zaregistrovať v súbore správcu. Ak potrebujete ďalšie správcovské funkcie nad rámec tých, ktoré poskytuje Django, môžete v tomto module definovať vlastné zobrazenia pre svoje administrátorské rozhranie.
  4. urls.py: Tento súbor definuje vzory URL alebo trasy jedinečné pre konkrétnu aplikáciu Django. Niekedy Django tento súbor nevygeneruje automaticky. Ak k tomu dôjde, môžete ho vytvoriť manuálne v adresári aplikácie.

Django generuje niektoré ďalšie komponenty, ako napr apps.py a testy.py. Tieto súbory definujú konfigurácie vašej aplikácie a umožňujú vám písať testy jednotiek.

Ako vytvoriť aplikáciu Django

Pred vytvorením aplikácie musíte mať vytvorený projekt. Po vytvorení projektu prejdite do adresára obsahujúceho spravovať.py súbor a spustite nasledujúci príkaz vo svojom termináli:

python manage.py startproject 

Vyššie uvedený príkaz vytvorí štruktúru priečinkov, ako je táto, na rovnakej úrovni adresára ako váš projekt:

Rozdiel medzi aplikáciou a projektom v Django

Medzi projektom a aplikáciou v Django sú určité rozdiely. Niektoré z nich sú uvedené nižšie.

Opätovná použiteľnosť kódu

V Django je aplikácia opakovane použiteľná súčasť vašej webovej aplikácie. To znamená, že ak máte aplikáciu, ktorá spracováva overovanie používateľov pre jeden projekt, môžete tú istú aplikáciu znova použiť v inom projekte s malými alebo žiadnymi zmenami. Na druhej strane projekt nie je opätovne použiteľný. Keď vytvoríte projekt pre konkrétnu webovú aplikáciu, nemôžete ho použiť pre inú aplikáciu.

Rozsah prevádzky

Projekt funguje na vyššej úrovni ako aplikácia, pretože je zodpovedný za celkovú konfiguráciu a správu vášho webu. Na druhej strane, aplikácia je zodpovedná iba za konkrétnu funkciu alebo funkčnosť vášho webu.

Štruktúra priečinkov

Najzrejmejším rozdielom medzi aplikáciou a projektom je ich štruktúra priečinkov. Projekt zvyčajne obsahuje nastavenia a ďalšie konfiguračné súbory zodpovedné za blaho vašej webovej lokality.

Nasleduje aplikácia Architektúra MVT od Djanga. Obsahuje iba súbory a konfigurácie zodpovedné za dobré fungovanie konkrétnej funkcie vašej webovej lokality.

Váš projekt a aplikácia spolupracujú na vytvorení dobrej webovej aplikácie

Hoci váš projekt a aplikácia majú svoju jedinečnosť, v konečnom dôsledku sa používajú na bezproblémový zážitok pri vytváraní vašej aplikácie. Mali by ste byť schopní skombinovať komponenty projektu a aplikácie na vytvorenie a prispôsobenie vašej webovej aplikácie. S vašou aplikáciou a projektom môžete začať vytvárať svoje webové stránky s Django.