Как мой шаблон хамелеона может принимать вспышки сообщений из структуры пирамиды?
Я изучаю пирамиду, и кажется, что они пытаются заставить людей использовать хамелеон вместо мако, поэтому я решил дать хамелеону шанс. Мне это нравится до сих пор, и я могу делать базовые вещи в шаблоне, такие как циклы if и for, но я не уверен, как заставить сообщения мигать появляться.
В уроке по пирамиде они делают это в списке задач, а в вики- примере - нет. В соответствии с инструкциями о сеансах и с использованием учебника todolist в качестве примера, я смог заставить свое приложение создавать сообщения, но не смог получить их в своем шаблоне. Короче говоря, мне интересно, если хамелеон имеет эквивалент этого кода Мако:
% if request.session.peek_flash():
<div id="flash">
<% flash = request.session.pop_flash() %>
% for message in flash:
${message}<br>
% endfor
</div>
% endif
1 ответ
(Не проверенный) эквивалент в хамелеоне:
<div id="flash" tal:condition="request.session.peek_flash()">
<span tal:omit-tag=""
tal:repeat="message request.session.pop_flash()">
${message}<br>
</span>
</div>
tal:omit-tag
атрибут не обязателен; это падает <span>
тег из вывода, так как он используется только как фиктивный тег для прикрепления повторения к. Если отбросить его, вывод шаблона Chameleon будет соответствовать примеру Мако.
См. Документацию Chameleon для введения и полной спецификации того, как работает язык шаблонов.