Rozvíjejte silné porozumění rolím a funkcím projektů a aplikací v rámci Django.
V Django můžete k vytvoření webové aplikace použít dvě primární komponenty; aplikace a projekty. Vývojáři někdy používají tyto termíny zaměnitelně, ačkoli mají odlišné významy a funkce ve webovém rámci Django.
Porozumění projektům Django
V Django je projekt kontejnerem nejvyšší úrovně pro vaši webovou aplikaci. Projekt obsahuje konfigurace pro vaši webovou aplikaci a jednu nebo více aplikací, z nichž každá poskytuje specifickou sadu funkcí nebo funkcí pro vaši webovou aplikaci. Obsahuje také všechny součásti sdílené mezi různými aplikacemi. V projektu Django můžete najít nástroje a nástroje, které usnadňují správu vaší webové aplikace, jako je nástroj příkazového řádku Django a vývojový server Django.
Součásti projektu Django
Projekt Django obvykle obsahuje různé aplikace a konfigurace vaší webové aplikace. Kdykoli vytvoříte nový projekt, Django automaticky vygeneruje soubory obsahující tyto konfigurace. Komponenty zahrnuté v projektu Django jsou:
- Nastavení: Modul nastavení obsahuje konfigurace potřebné pro váš projekt a jednotlivé aplikace ve vašem projektu. Tento modul obsahuje především možnosti konfigurace, jako je připojení k databázi, middleware, nainstalovaná aplikace, povolení hostitelé a další konfigurace potřebné pro fungování vaší webové aplikace.
- URL: Modul URL definuje vzor adresy URL pro vaši aplikaci. Každý vzor adresy URL ve vašem projektu se může buď namapovat na jiný vzor adresy URL ve vaší aplikaci, nebo přímo na funkci zobrazení, která zpracovává požadavek na konkrétní adresu URL. Ať už se vzor adresy URL mapuje na funkci zobrazení nebo jiný vzor adresy URL ve vaší aplikaci, konečným cílem je namapovat jej na zobrazení, které efektivně zpracuje požadavek.
- WSGI: Modul WSGI (Web Server Gateway Interface) je standardem Pythonu pro webové servery a aplikace. Modul WSGI umožňuje Django běžet na různých serverech.
- ASGI: Modul ASGI (Asynchronous Server Gateway Interface) zpracovává asynchronní požadavky jako např Připojení WebSockets. ASGI je standard pro asynchronní webové servery pro komunikaci s webovými aplikacemi Pythonu.
- Ostatní komponenty: Někdy budete muset do svého projektu Django přidat své vlastní komponenty, v závislosti na požadavcích vaší aplikace. Tyto součásti zahrnují statické soubory, šablony, mediální soubory a vlastní příkazy správy.
Jak vytvořit projekt Django
Chcete-li vytvořit projekt Django, měli byste použít django-admin nástroj příkazového řádku. Svůj projekt Django můžete vytvořit podle následujících kroků:
- V rozhraní příkazového řádku přejděte do adresáře, kde chcete vytvořit projekt Django.
- Nainstalujte Django pomocí správce balíčků pip.
pip nainstalovat django
- Zadejte následující příkaz a spusťte jej:
startovací projekt django-admin
Výše uvedený příkaz vytvoří adresář, jako je tento:
V názvech adresáře projektu si všimnete redundance, tj. název projektu se objeví dvakrát. Pokud se toho chcete zbavit, můžete přidat období, kdy spustíte svůj startprojekt příkaz takto:
startovací projekt django-admin .
Nyní bude struktura vašeho projektu vypadat takto:
Pomocí výše uvedených kroků musíte úspěšně vytvořit projekt Django. The spravovat.py soubor vytvořený ve vašem projektu je důležitý pro interakci s vaším projektem Django.
Pochopení aplikace Django
Účelem aplikace je poskytnout vašemu projektu Django specifické funkce. Aplikace vám pomůže uspořádat vaši kódovou základnu rozdělením funkcí vašeho projektu na menší komponenty.
Například v blogovém projektu budete mít aplikaci věnovanou ověřování a autorizaci a další aplikaci věnovanou blogovým příspěvkům. Můžete vytvořit více aplikací na základě konkrétních potřeb vašeho projektu.
Součásti aplikace Django
Aplikace Django se skládá z modulů souvisejících s projektem, tedy s konkrétní funkcí vašeho webu. Stejně jako u projektu Django automaticky generuje užitečné soubory, když vytváříte aplikaci. Soubory generované Django zahrnují následující:
- views.py: Tento soubor bude obsahovat veškerou logiku potřebnou pro přijímání požadavků a odesílání odpovědí. Určuje také, která šablona HTML se má vykreslit na základě akcí uživatele na vašem webu.
- modely.py: Tento modul vytváří datovou strukturu vaší aplikace a určuje, jak ji bude databáze ukládat. K definování dat používá Django's ORM (Object-Relational Mapping). Komponenta modely definuje různé databázové vztahy v Django.
- admin.py: Administrační modul definuje administrační rozhraní vaší aplikace Django. Měli byste zaregistrovat své modely v souboru správce. Pokud potřebujete další administrátorské funkce nad rámec těch, které poskytuje Django, můžete v tomto modulu definovat vlastní zobrazení pro své administrátorské rozhraní.
- urls.py: Tento soubor definuje vzory adres URL nebo trasy jedinečné pro konkrétní aplikaci Django. Někdy Django tento soubor nevygeneruje automaticky. Pokud k tomu dojde, můžete jej ručně vytvořit v adresáři aplikace.
Django generuje některé další komponenty, jako např apps.py a testy.py. Tyto soubory definují konfigurace vaší aplikace a umožňují vám psát testy jednotek.
Jak vytvořit aplikaci Django
Před vytvořením aplikace musíte mít vytvořený projekt. Po vytvoření projektu přejděte do adresáře obsahujícího spravovat.py soubor a spusťte ve svém terminálu následující příkaz:
python manage.py startproject
Výše uvedený příkaz vytvoří strukturu složek, jako je tato, ve stejné úrovni adresáře jako váš projekt:
Rozdíl mezi aplikací a projektem v Django
Mezi projektem a aplikací v Django existují určité výrazné rozdíly. Některé z nich jsou uvedeny níže.
Znovupoužitelnost kódu
V Django je aplikace opakovaně použitelnou součástí vaší webové aplikace. To znamená, že pokud máte aplikaci, která zpracovává ověřování uživatelů pro jeden projekt, můžete stejnou aplikaci znovu použít v jiném projektu s malými nebo žádnými změnami. Na druhou stranu projekt není znovu použitelný. Jakmile vytvoříte projekt pro určitou webovou aplikaci, nemůžete jej použít pro jinou aplikaci.
Rozsah provozu
Projekt funguje na vyšší úrovni než aplikace, protože je zodpovědný za celkovou konfiguraci a správu vašeho webu. Na druhou stranu je aplikace zodpovědná pouze za konkrétní funkci nebo funkčnost vašeho webu.
Struktura složek
Nejviditelnější rozdíl mezi aplikací a projektem je jejich struktura složek. Projekt obvykle obsahuje nastavení a další konfigurační soubory odpovědné za pohodu vašeho webu.
Následuje aplikace Django's MVT architektura. Obsahuje pouze soubory a konfigurace zodpovědné za dobrý stav konkrétní funkce vašeho webu.
Váš projekt a aplikace spolupracují na vytvoření dobré webové aplikace
Přestože váš projekt a aplikace mají svou jedinečnost, nakonec se používají k tomu, aby vám poskytly bezproblémový zážitek při vytváření vaší aplikace. Měli byste být schopni zkombinovat komponenty projektu a aplikace a vytvořit a přizpůsobit svou webovou aplikaci. S vaší aplikací a projektem můžete začít vytvářet svůj web s Django.