0Pricing
Flask Academy · Урок

Макросы для повторяющейся разметки

Пишите функции шаблонов, чтобы не копировать код.

«Макросы для повторяющейся разметки» — бесплатный урок Flask Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Repeated Markup Begs for a Function

When the same input field or card markup appears with small tweaks, copying it gets messy. A macro turns that pattern into a reusable function. 🛠️

What a Macro Is

A macro is a template function: you define markup once with parameters, then call it many times with different arguments.

Define a Macro

You declare a macro with a name and parameters, write its markup, and close it with endmacro. It is reusable from then on.

{% macro field(name) %}
  <input name="{{ name }}">
{% endmacro %}

Call a Macro

Invoke a macro like a function, passing arguments. Jinja2 renders the macro body with those values right where you call it.

{{ field("email") }}

Parameters Customize Output

Macro parameters let one definition produce many variations, such as different input types or labels, from a single source of markup.

{% macro field(name, type="text") %}
  <input name="{{ name }}" type="{{ type }}">
{% endmacro %}

Default Argument Values

Give parameters defaults so common calls stay short. Callers override a default only when they need something different.

{{ field("age", type="number") }}

Keep Macros in Their Own File

Store shared macros in a file like forms.html so many templates can import and reuse the same helpers.

{% import "forms.html" as forms %}

Import Then Call

After import, call a macro through its namespace. This keeps your macro library separate from the page using it.

{{ forms.field("email") }}

Import Specific Macros

Use from import to pull just the macros you need by name, keeping the template clean and the intent obvious.

{% from "forms.html" import field %}

Macros vs Includes

An include drops fixed markup; a macro takes arguments and varies its output. Reach for macros when the snippet must change per call.

DRY Templates at Last

Macros remove copy-paste from your templates: fix the field markup once and every call site updates. That is templating done right. ✨

Quick Check

What makes a macro different from an include?

Recap: Macros

A macro is a reusable, parameterized template function. Define it once, import it, and call it anywhere to keep templates DRY. 🎯

Часто задаваемые вопросы

Урок «Макросы для повторяющейся разметки» бесплатный?

Да — полный текст урока «Макросы для повторяющейся разметки» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Макросы для повторяющейся разметки»?

Пишите функции шаблонов, чтобы не копировать код. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Макросы для повторяющейся разметки»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Определение базового шаблона с блоками
  2. Расширение базового шаблона в дочерних страницах
  3. Подключение повторно используемых фрагментов
  4. Макросы для повторяющейся разметки
← Назад к Flask Academy