以下引发语法错误,"解析时意外的EOF":
${foo({'bar':'baz'})}
Run Code Online (Sandbox Code Playgroud)
我想这是从内部闭合的大括号.这很好用:
${foo(dict(bar='baz'))}
Run Code Online (Sandbox Code Playgroud)
但是使用字典文字的语法是什么?
来自Brian Rue的Mako Templates Google Group:
这是一个长期存在的漏洞; 只需使用dict().如果您需要一个包含非字符串键的字典,请将元组列表转换为字典.例如,而不是这样:
${foo({1: 'a', 2: 'b'})}
做这个:
${foo(dict([(1, 'a'), (2, 'b')]))}