Rozszerzanie szablonu bazowego na podstronach
Używaj extends i wypełniaj bloki dla poszczególnych stron.
Rozszerzanie szablonu bazowego na podstronach to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 2 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 Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Connect a Page to the Base
A child page does not repeat the skeleton. It declares that it extends the base, then fills only the blocks it needs to change. 🔗
The extends Tag
The first line of a child template uses extends to name its parent layout. This tells Jinja2 to inherit the base before rendering.
{% extends "base.html" %}extends Must Come First
The extends tag has to be the very first thing in the child file. Putting markup above it breaks inheritance and raises a template error.
Override a Block
To replace a slot, redeclare the block with the same name in the child. Whatever you put inside now shows instead of the base default.
{% block title %}Dashboard{% endblock %}A Complete Child Page
This child template extends base.html and overrides two blocks. The rest of the page comes straight from the parent layout.
{% extends "base.html" %}
{% block title %}Home{% endblock %}
{% block content %}
<h1>Welcome</h1>
{% endblock %}Skip Blocks You Like
You only override the blocks you want to change. Any block you leave out keeps the default content defined in the base template.
Reuse Parent Content
Inside an overridden block you can call super() to pull in the parent block content, then add your own around it.
{% block content %}{{ super() }}<p>Extra</p>{% endblock %}Render the Child, Not the Base
Your view returns the child template path. Flask renders the child, which inherits the base, so you never call base.html directly.
return render_template("home.html")Block Names Must Match
Override only works when the child block name exactly matches one in the base. A typo silently leaves the parent default in place.
One Base, Many Children
Dozens of pages can extend the same base.html. Each child stays tiny because it only carries the markup unique to that page.
Inheritance Saves You
Change the base header once and every child page updates instantly. That cascade is the real power of template inheritance. 🚀
Quick Check
Where must the extends tag appear in a child template?
Recap: Extending Pages
Child pages extend a base, override matching blocks, and may reuse parent content with super(). One base now powers many pages. 🎯
Często zadawane pytania
Czy lekcja „Rozszerzanie szablonu bazowego na podstronach” jest bezpłatna?
Tak — pełny tekst „Rozszerzanie szablonu bazowego na podstronach” 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 Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Rozszerzanie szablonu bazowego na podstronach”?
Używaj extends i wypełniaj bloki dla poszczególnych stron. Ćwiczysz Flask 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ąć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask 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 2 z 4.
Ile czasu zajmuje lekcja „Rozszerzanie szablonu bazowego na podstronach”?
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 Flask Academy?
Tak. Każda lekcja Flask 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
- Definiowanie szablonu bazowego z blokami
- Rozszerzanie szablonu bazowego na podstronach
- Dołączanie wielokrotnego użytku fragmentów
- Makra dla powtarzalnych fragmentów znaczników