字符串中的命名替换为 Mako
在 Mako 中创建模板时,我需要编写如下内容: ${_('Hello, %(fname)s %(lname)s') % {'fname':'John','lname' :'Doe'}}
在编写该内容时,我不断收到 SyntaxException: (SyntaxError) 意外的 EOF while parsing 。有没有办法做同样的事情?
${_('Hello, %s %s') % ('John', 'Doe')}
有效,但在更改语言时不允许更改替换的顺序,如果需要。
谢谢。
When creating a template in Mako, I would need to write things like : ${_('Hello, %(fname)s %(lname)s') % {'fname':'John','lname':'Doe'}}
I keep getting SyntaxException: (SyntaxError) unexpected EOF while parsing when writing that. Is there wny way to do the same ?
${_('Hello, %s %s') % ('John', 'Doe')}
works, but it does not allow to change the order of the replacements when changing language, if needed.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Mako 的
${}
内部使用{}
很复杂;显然 Mako 在找到第一个}
后停止解析表达式。一种可能的解决方法是使用dict()
而不是{}
:Using
{}
inside Mako's${}
is complicated; apparently Mako stops parsing the expression after finding the first}
. A possible workaround is to usedict()
instead of{}
:尝试新的 Python 字符串格式:
它看起来更好并且面向未来。
Try the new Python string formatting:
It looks nicer and is futureproof.