Я не понимаю Jinja2 Call Blocks

Я понимаю концепцию, но я не понимаю синтаксис.

Я собираюсь использовать пример, используемый на их сайте

{% macro render_dialog(title, class='dialog') -%} <div class="{{ class }}"> <h2>{{ title }}</h2> <div class="contents"> {{ caller() }} </div> </div> {%- endmacro %} {% call render_dialog('Hello World') %} This is a simple dialog rendered by using a macro and a call block. {% endcall %} 

Какой будет выход?

sub_ question (потому что я схожу с ума от того, как это работает): Вам разрешено иметь только 1 вызывающего абонента на макрос?

One Solution collect form web for “Я не понимаю Jinja2 Call Blocks”

Это результат:

 <div class="dialog"> <h2>Hello World</h2> <div class="contents"> This is a simple dialog rendered by using a macro and a call block. </div> </div> 

Поэтому, когда мы вызываем render_dialog, мы передаем «Hello World» в качестве заголовка, когда он достигает caller() он передает содержимое блока call .

  • Отредактируйте редактируемую таблицу, используя шаблоны Flask, Jinja2, затем обработайте полученные данные формы
  • Преобразование объекта dict в строку в шаблоне Django / Jinja2
  • Сохранять изображение, сохраненное в столбце LargeBinary SQLAlchemy
  • Flask: Как обслуживать статические файлы из каталога шаблонов?
  • Если разметка jinja находится в строчном формате, как ее использовать в django и jinja2?
  • Как вы включаете код фляжки / jinja2 внутри файла уценки?
  • В Jinja2, как я могу использовать макросы в сочетании с блочными тегами?
  • обслуживание i18n js с использованием babel, django, & jinja2
  • Python - лучший язык программирования в мире.