Можно ли вложить несколько объектов шаблона в другой шаблон-хамелеон?

Скажем, у меня был файл шаблона хамелеона для пользовательского объекта с чем-то вроде этого:

<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>

что достаточно хорошо для меня, но мне просто интересно, возможно ли то, о чем я прошу.


person c0lon    schedule 28.01.2016    source источник


Ответы (1)


То, что вы ищете, это металлические макросы. Поначалу они сбивают с толку, но становятся супермощными, как только вы разберетесь с ними.

https://chameleon.readthedocs.org/en/latest/reference.html?highlight=metal#metal

ХТН

person Iain Duncan    schedule 01.02.2016