Расширение базового шаблона в дочерних страницах
Используйте extends и заполняйте блоки для каждой страницы.
«Расширение базового шаблона в дочерних страницах» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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. 🎯
Часто задаваемые вопросы
Урок «Расширение базового шаблона в дочерних страницах» бесплатный?
Да — полный текст урока «Расширение базового шаблона в дочерних страницах» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Расширение базового шаблона в дочерних страницах»?
Используйте extends и заполняйте блоки для каждой страницы. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Расширение базового шаблона в дочерних страницах»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение базового шаблона с блоками
- Расширение базового шаблона в дочерних страницах
- Подключение повторно используемых фрагментов
- Макросы для повторяющейся разметки