0

在 Mako 中创建模板时,我需要编写如下内容:${_('Hello, %(fname)s %(lname)s') % {'fname':'John','lname':'Doe'}}

我在编写时解析时不断收到 SyntaxException: (SyntaxError) unexpected EOF。有没有办法做同样的事情?

${_('Hello, %s %s') % ('John', 'Doe')}有效,但如果需要,它不允许在更改语言时更改替换顺序。

谢谢。

4

2 回答 2

2

{}在 Mako's 内部使用${}很复杂;显然 Mako 在找到第一个后停止解析表达式}。一种可能的解决方法是使用dict()而不是{}

${_('Hello, %(fname)s %(lname)s') % dict(fname='John', lname='Doe')}
于 2010-10-06T22:45:26.830 回答
0

尝试新的 Python 字符串格式:

>>> "{foo} {bar}".format(foo="foo", bar="bar")
'foo bar'
>>> "{foo} {bar}".format(**{"foo": "Hello", "bar": "World!"})
'Hello World!'

它看起来更好,并且是面向未来的。

于 2010-10-06T18:31:45.523 回答