2015-07-05 3 views
2

Возможно ли заполнять цикл цикла mako для одной строки только одной строкой? Все примеры, которые я видел до сих пор, создают несколько строк, и запись цикла mako for в одной строке вызывает ошибки mako.Однострочный контур с контуром mako

Пример кода заполнения мако шаблона:

data = ['foo', 'bar', 'baz'] 
template = Template(filename='test.mak') 
template.render(data=data) 

Шаблон файла test.mak (создание нескольких линий, которые не то, что я хочу):

items= 
% for d in data: 
${d}${'' if loop.last else ','} 
% endfor 

Ожидаемое увеличение объема производства сценарий мако должен быть items=foo,bar,baz.

Мое текущее обходное решение items=${','.join(data)} как скрипт mako, но мне интересно, возможно ли это также со встроенными директивами mako.

ответ

2

Как mako documentation говорит, что вы можете использовать символ конца, добавив обратную косую черту \ в самом конце строки. Поэтому ваш шаблон должен выглядеть так:

items=\ 
% for d in data: 
${d}${'' if loop.last else ','}\ 
% endfor 
+0

Спасибо. Я не заметил эту часть в документации. – orange

Смежные вопросы