[英]One-liner for loop output with mako script
是否可以僅將mako腳本的for循環填充到一行? 到目前為止,我所看到的所有示例都創建多行,並且在一行中編寫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
預期的擴展mako腳本輸出應為items=foo,bar,baz
。
我當前的解決方法是將items=${','.join(data)}
作為mako腳本,但是我想知道是否可以使用內置的mako指令來實現。
正如mako 文檔所說,您可能會在行的最后添加反斜杠\\
來消耗結束符。 因此,您的模板應如下所示:
items=\
% for d in data:
${d}${'' if loop.last else ','}\
% endfor
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.