Šablony v Django umožňují sdílet logiku a reprezentaci webové stránky, takže vývoj je strukturovanější a flexibilnější. Připojení šablon je důležitou součástí procesu vytváření webových aplikací na Django. Pokud s tímto rámcem teprve začínáte, tento návod vám pomůže pochopit, jak připojit a používat šablony ve vašich projektech.
Prvním krokem je vytvoření složky "templates" ve vašem projektu Django. Tato složka bude použita k uložení všech vašich šablon. Uvnitř složky "templates" můžete vytvořit další podsložky uspořádáním šablon podle kategorií nebo stránek.
Když je složka "templates" vytvořena, můžete vytvořit nový soubor šablony, který bude obsahovat HTML označení vaší stránky. V šabloně můžete použít speciální značky poskytované Django k vložení proměnných, cyklů a podmíněných příkazů. Tímto způsobem můžete dynamicky vytvářet obsah stránky.
Chcete-li připojit šablonu na konkrétní stránce, musíte v příslušném zobrazení zadat cestu k šabloně. V zobrazení můžete přenést data, která budou použita v šabloně. V samotné šabloně pak můžete tato data použít pomocí speciální syntaxe šablonového enginu Django.
Připojení šablon do Django zefektivňuje a snadno podporuje váš vývoj. Jakmile zvládnete tento návod, budete moci využít sílu šablon ve svých projektech a vytvořit krásné a funkční webové stránky.
Krok 1: vytvořte šablony pro váš projekt
Při vývoji webové aplikace v Django je důležité vytvořit kvalitní a flexibilní šablony, které budou použity k zobrazení dat.
Vytváření šablon v Django lze provést v několika jednoduchých krocích:
- Vytvořte složku se šablonami: v kořenovém adresáři vašeho projektu vytvořte novou složku s názvem "templates".
- Vytvořte soubory šablon: uvnitř složky "templates" vytvořte soubory s příponou .html pro každou šablonu, kterou chcete vytvořit. Například pro domovskou stránku vašeho projektu můžete vytvořit soubor " index.html".
- Určete základní šablonu: vytvořte základní šablonu, která bude použita jako základ pro další šablony vašeho projektu. V této šabloně můžete definovat celkové rozvržení stránek, styly a názvy. Můžete například vytvořit soubor " base.html".
- Rozdělte šablony na části: definujte jednotlivé šablony pro každou součást vašeho projektu, jako je navigační nabídka, postranní panel, futer atd. Tyto šablony pak můžete připojit v základní šabloně a znovu je použít v jiných šablonách.
Jakmile vytvoříte šablony pro váš projekt,můžete je začít používat v představách Django k zobrazení dat.
Krok 2: uspořádání šablon v adresáři
V rámci projektu Django musíte vytvořit adresář s názvem "templates". To lze provést na příkazovém řádku pomocí příkazu:
| mkdir | templates |
Po vytvoření adresáře do něj můžete vložit své šablony. Vytvořte například soubor s názvem " base.html "uvnitř adresáře "templates". Otevřete jej v textovém editoru a přidejte následující kód:
Базовый шаблон Привет, мир!
Это базовый шаблон.
Nyní můžete tuto šablonu použít v jiných souborech. Vytvořte například soubor s názvem " index.html "v adresáři" templates " a přidejte následující kód:
Главная страница Добро пожаловать!
Это главная страница.
Kód vloží obsah souboru " base.html " na tomto místě.
Nyní, když spustíte aplikaci Django a obrátíte se na stránku index.html", uvidíte obsah " base.html " se také zobrazuje na stránce.
Uspořádání šablon v jednotlivých adresářích vám tedy dává lepší flexibilitu a pohodlí při navrhování vašeho projektu Django.
Krok 3: Konfigurace cest k šablonám v nastavení projektu
Aby Django mohl najít a používat vaši šablonu, musíte v nastavení projektu nakonfigurovat cesty ke šablonám. V Django se to provádí v souboru settings.py, který je v kořenové složce vašeho projektu.
Otevřete soubor settings.py a najděte proměnnou TEMPLATE_DIR. Tato proměnná obsahuje seznam cest, kterými Django vyhledá šablony.
- Pokud jste v projektu vytvořili samostatnou složku pro šablony, přidejte cestu k této složce do seznamu TEMPLATE_DIR.
- Pokud používáte standardní strukturu projektu Django, přidejte cestu ke složce templates, která by měla být v kořenové složce vašeho projektu.
TEMPLATE_DIR = [os.path.join(BASE_DIR, 'templates')]
V tomto příkladu jsme použili funkci os.path.join pro sloučení cesty k kořenové složce projektu BASE_DIR a cesty ke složce templates.
Jakmile nastavíte cesty k šablonám, uložte soubor settings.py..
Váš projekt nyní ví, kde hledat šablony, a můžete je použít ve svých představách.
Krok 4: Použití šablon v prezentacích
Chcete-li použít šablonu v zobrazení, musíme nejprve importovat funkci render z modulu django.shortcuts . Tuto funkci pak můžeme vyvolat tím, že jí předáme dotaz, název šablony a volitelný kontext dat.
Například zobrazení, které používá šablonu s názvem index.html může vypadat následovně:
from django.shortcuts import renderdef index(request):return render(request, 'index.html')
Když uživatel odešle požadavek na adresu URL související s tímto zobrazením, Django nejprve vyvolá funkci index , která následně vyvolá funkci render . Funkce render načte šablonu index.html, vyplní jej daty a poté vrátí odpověď s touto šablonou jako obsahem.
Použití šablon v prezentacích nám umožňuje oddělit logiku aplikace Od prezentace dat, díky čemuž je náš kód modulárnější a podporovanější.
Krok 5: přenos dat do šablon
Chcete – li přenést data z reprezentace do šablony, můžete použít kontext-speciální objekt, který obsahuje proměnné a jejich hodnoty. Kontext je přenášen do funkce vykreslování šablony a je k dispozici v šabloně jako proměnné.
Níže je uveden příklad reprezentačního kódu, který přenáší data o uživateli do šablony:
def user_profile(request):user = User.objects.get(username='john')context = return render(request, 'profile.html', context)
V tomto příkladu získáme objekt uživatele s názvem "john" a vytvoříme kontext obsahující hodnoty jeho uživatelského jména, e-mailu, jména a příjmení. Tento kontext pak přeneseme do funkce render spolu s názvem šablony " profile.html".
V šabloně " profil.html " k těmto datům můžeme přistupovat pomocí příslušných proměnných:
Имя пользователя: >
Электронная почта: >
Имя: >
Фамилия: >
V příkladu šablony používáme k označení proměnných dvojité tvarované závorky ( > ). Při vykreslování šablony Django automaticky nahradí tyto proměnné odpovídajícími hodnotami z kontextu.
V důsledku provedení zobrazení a vykreslení šablony se tedy na stránce zobrazí informace o uživateli s hodnotami uvedenými v kontextu.
Krok 6: Použití kontextových procesorů
Pro použití kontextových procesorů v Django je nutné nejprve vytvořit funkci kontextového procesoru. Tato funkce by měla přijmout objekt dotazu jako argument a vrátit slovník s daty, která chcete přidat do kontextu.
Vaše funkce kontextového procesoru by měla být zaregistrována v souboru nastavení projektu v nastavení TEMPLATES . V této možnosti byste měli zadat seznam svých kontextových procesorů.
Po registraci kontextového procesoru, můžete použít nové proměnné ve svých šablonách.
Pokud například chcete přidat aktuálního uživatele do kontextu, můžete vytvořit funkci kontextového procesoru následujícího vzhledu:
def user_context_processor(request):return
Poté přidejte tento kontextový procesor do seznamu kontextových procesorů:
'OPTIONS': ,
Nyní můžete ve svých šablonách použít proměnnou user:
Привет, >!
Добро пожаловать на наш сайт!
Použití kontextových procesorů vám tedy umožňuje přidat další data do kontextu a zjednodušit práci se šablonami vašeho projektu.
Krok 7: práce s dědičností šablon
Chcete-li vytvořit podřízenou šablonu, musíte nejprve vytvořit základní šablonu. Základní šablona určuje celkové rozvržení stránky a také zóny, které lze přepsat v podřízené šabloně.
Chcete-li vytvořit podřízenou šablonu, musíte použít klíčové slovo a zadat cestu k základní šabloně. Bloky pak můžete použít k určení zón, které lze změnit v podřízené šabloně.
Máme například základní šablonu base.html s hlavním rozvržením stránky:
Мой сайт Заголовок сайта
Nyní můžeme vytvořit podřízenou šablonu home.html, který zdědí základní šablonu a přepíše blok content :
Добро пожаловать на главную страницу!
Здесь можно разместить содержимое главной страницы.
Až otevřeme stránku home.html, Django automaticky najde základní šablonu base.html a nahradí blok content z podřízené šablony.
Dědičnost šablon nám tedy umožňuje vytvořit pohodlnou a flexibilní strukturu pro vývoj pomocí šablon v Django.
Krok 8: Mezipaměť šablon a optimalizace výkonu
K optimalizaci výkonu vaší webové aplikace na Django byste měli použít mezipaměť šablon. Mezipaměť umožňuje uložit výsledky provádění požadavků a znovu je použít, což výrazně zkracuje dobu odezvy serveru.
Chcete-li použít mezipaměť šablon v Django, musíte provést několik kroků:
- Nainstalujte balíček Django-redis, který vám umožní používat Redis jako backend pro mezipaměť.
- Upravte Redis v souboru nastavení projektu.
- Přidejte dekoratér '@cache_page ' před Funkce zobrazení, které je třeba zavěsit.
- Nainstalujte Redis server a spusťte jej.
Po provedení těchto kroků se šablony vaší webové aplikace uloží do mezipaměti Redis a znovu použijí při opakovaných dotazech. To může výrazně zvýšit výkon vaší aplikace a snížit zatížení serveru.
Optimalizace výkonu je důležitá pro každou webovou aplikaci. Pomocí mezipaměti šablon v Django můžete výrazně zlepšit rychlost vaší aplikace a zlepšit uživatelský zážitek.