ora*_*nge 2 python template-engine mako
是否可以将 mako 脚本的 for 循环仅填充到一行?到目前为止,我看到的所有示例都创建了多行,并且在一行中编写 mako for 循环会导致 mako 错误。
填充 mako 模板的示例代码:
data = ['foo', 'bar', 'baz']
template = Template(filename='test.mak')
template.render(data=data)
Run Code Online (Sandbox Code Playgroud)
模板文件 test.mak (创建多行,这不是我想要的):
items=
% for d in data:
${d}${'' if loop.last else ','}
% endfor
Run Code Online (Sandbox Code Playgroud)
预期的扩展 mako 脚本输出应该是items=foo,bar,baz.
我当前的解决方法是items=${','.join(data)}使用 mako 脚本,但我想知道这是否也可以通过内置的 mako 指令实现。
正如 mako文档\所说,您可以通过在行尾添加反斜杠来使用行尾字符。所以你的模板应该是这样的:
items=\
% for d in data:
${d}${'' if loop.last else ','}\
% endfor
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3157 次 |
| 最近记录: |