Могу ли я вложить несколько объектов шаблона в другой шаблон хамелеона?
Скажем, у меня был файл шаблона хамелеона для объекта пользователя с чем-то вроде этого:
<h2><tal:content="user.name"></h2>
<h4><tal:content="user.occupation"></h4>
<p><tal:content="user.bio"></p>
Можно ли зациклить список пользователей в другом файле шаблона, чтобы заполнить несколько слотов контента, как показано ниже?
<tal:block repeat="user users">
<div metal:define-slot='user'></div> <!-- ??? -->
</tal:block>
Я полагаю, что это может быть полезно, если на странице есть список сложных объектов с большим количеством данных для отображения, но я ничего не могу найти по этому поводу, и я не знаю, какие поисковые запросы дать Google.
Прямо сейчас у меня просто что-то вроде этого:
<tal:block repeat="user users">
<h2><tal:content="user.name"</h2>
<h4><tal:content="user.occupation"></h4>
<p><tal:content="user.bio"></p>
</tal:block>
это достаточно хорошо для меня, но мне просто интересно, возможно ли то, что я спрашиваю.
1 ответ
То, что вы ищете, это металлические макросы. Сначала они сбивают с толку, но очень мощные, как только вы начинаете думать об этом.
https://chameleon.readthedocs.org/en/latest/reference.html?highlight=metal
НТН