У меня есть большой набор сообщений, характерных для одной страницы, из которых я мог бы ночью показать любую комбинацию. Чтобы упростить добавление новых сообщений (большое количество в ближайшее время станет еще больше), и чтобы предотвратить наличие гигантского блока if/elif с записью для каждого из них, мне нужен способ включить все соответствующие шаблоны без необходимо обновить шаблон каждый раз, когда добавлено новое сообщение. Мой, хотя был для dict, представляющий сообщение, чтобы включить его шаблон. Это была моей попытка сделать так:Динамический набор шаблонов Мако для включения другого шаблона
<div class="item-content" id="results_content">
<ul class="unstyled">
%for msg in c.page_messages:
<%include file="${msg.get('template_path')}" args="message=msg"/>
%endfor
</ul>
</div>
Это приводит к ошибке в% включает тег:
TypeError: 'NoneType' object has no attribute '__getitem__'
- Может ли быть подтвержден, могу ли я использовать переменный шаблон включаемый тег , Я не могу найти ничего конкретного, заявляя в любом случае, если я должен ожидать, что это сработает.
- Если это не то, что будет работать, есть ли другой способ, которым я могу выполнить одно и то же? т.е. - можно добавить новое сообщение, не изменяя этот код шаблона, который тянет в каждом шаблоне сообщений.