Další pěknou věcí, kterou pro nás Django má, je rozšiřování šablon. Co to znamená? To znamená, že můžeš použít stejné HTML pro různé stránky na svém blogu.
Tímto způsobem nemusíš opakovat v každém souboru stejný kód, když chceš použít stejné informace/rozvržení. A pokud chceš něco změnit, není nutné to dělat v každé šabloně, stačí jen v jedné!
Vytvoření základní šablony
Základní šablona je šablona, kterou použijeme na každé stránce našich webových stránek.
Vytvoříme soubor base.html v blog/templates/blog/:
blog
└───templates
└───blog
base.html
post_list.html
Pak jej otevři a zkopíruj vše z post_list.html do base.html souboru, jako je to níže:
Co to znamená? Právě jsi vytvořila block, což je šablonovací značka, která umožňuje vkládat HTML kód do tohoto bloku v jiných šablonách, které rozšiřují base.html. Hned ti ukážeme, jak to udělat.
Nyní ulož a znovu otevři svůj blog/templates/blog/post_list.html. Odstraň vše, co není uvnitř body, a pak také odstraň < div class="page-header" >< / div >, takže soubor bude vypadat takto:
to znamená, že nyní rozšiřujeme šablonu base.html v post_list.html. Jen jedna věc zbývá: vše dát (kromě řádku, který jsme právě přidaly) mezi {% block content %} a {% endblock %}. Takto:
To je ono! Zkontroluj, zda tvoje stránky stále správně fungují :)
Jestliže dostaneš chybu TemplateDoesNotExists, která říká, že neexistuje žádný soubor blog/base.html a máš runserver v konzoli, zkus ho zastavit (stisknutím kombinace kláves Ctrl + C - ctrl a tlačítka C společně) a restartovat spuštěním příkazu pythonu manage.py runserver.