Dziedziczenie szablonów z extends i block
Budować układ bazowy i nadpisywać jego sekcje
Dziedziczenie szablonów z extends i block to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.
Koniec z powtarzaniem układu
Każda strona ma nagłówek, nawigację i stopkę. Dziedziczenie szablonów pozwala zapisać tę strukturę raz i używać jej wszędzie. 🧱
Zacznij od szablonu bazowego
Szablon bazowy zawiera wspólny szkielet HTML. Strony potomne wstawią swoją unikalną treść w pozostawione otwarte miejsca.
base.htmlZdefiniuj blok
Blok oznacza sekcję, którą strona potomna może zastąpić. Nadajesz mu nazwę, pozostawiasz opcjonalną domyślną treść, a następnie zamykasz za pomocą endblock.
{% block content %}{% endblock %}Minimalny plik bazowy
Ten szablon bazowy otacza blok tytułu i blok treści prawdziwym kodem HTML. Strony potomne wypełnią te dwa nazwane miejsca.
<html><head><title>{% block title %}Site{% endblock %}</title></head>
<body>{% block content %}{% endblock %}</body></html>Strony potomne używają extends
Tag extends musi być pierwszym wierszem szablonu potomnego. Informuje Django, na jakim układzie bazowym należy go oprzeć.
{% extends "base.html" %}Zastępowanie bloku
W szablonie potomnym definiujesz na nowo blok o tej samej nazwie. Wszystko, co umieścisz w środku, zastąpi domyślną treść szablonu bazowego na tej stronie.
{% extends "base.html" %}
{% block content %}<h1>Welcome</h1>{% endblock %}Niewypełnione bloki używają wartości domyślnych
Jeśli strona potomna pominie blok, zostanie wyświetlona treść z szablonu bazowego. Dzięki temu wartość domyślna jest bezpiecznym miejscem zastępczym dla wspólnego tekstu.
Zachowaj treść rodzica za pomocą super
Wywołaj block.super, aby zachować treść bloku rodzica i dodać wokół niej własną treść, zamiast całkowicie ją zastępować.
{% block content %}{{ block.super }}<p>Extra</p>{% endblock %}Dziedziczenie może być zagnieżdżone
Strona potomna sama może stać się bazą dla głębiej zagnieżdżonych stron. Warstwowe układy pozwalają sekcjom współdzielić częściową strukturę, nadal korzystając z układu globalnego.
extends musi być pierwszy
Dozwolony jest tylko jeden tag extends i musi on znajdować się na początku pliku. Wszystko, co go poprzedza, nawet komentarz, przerywa dziedziczenie.
Bloki budują strony
Wyobraź sobie stronę jako szablon bazowy pełen bloków, które wypełniają strony potomne. Dzięki temu każda strona zachowuje spójność, a zmiany wprowadza się w jednym miejscu.
Szybkie sprawdzenie
Przypomnij sobie, jak strona potomna łączy się z układem.
Podsumowanie: napisz układ raz
Dowiedziałeś się, jak definiować bloki w szablonie bazowym i wypełniać je za pomocą extends w szablonach potomnych, zachowując nawet treść rodzica dzięki block.super. Następnie: łączenie tras i zasobów.
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Dziedziczenie szablonów z extends i block” jest bezpłatna?
Tak — pełny tekst „Dziedziczenie szablonów z extends i block” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Dziedziczenie szablonów z extends i block”?
Budować układ bazowy i nadpisywać jego sekcje Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Django Academy?
Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Dziedziczenie szablonów z extends i block”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?
Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- render() i kontekst szablonu
- Tagi i filtry szablonów
- Dziedziczenie szablonów z extends i block
- Tag url i tag static