是否可以仅将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 documentation所说,您可以通过在行尾添加反斜杠\
来消耗换行符。因此,您的模板应如下所示:
items=\
% for d in data:
${d}${'' if loop.last else ','}\
% endfor
关于python - 使用mako脚本的一线循环输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31227059/