在 Mako 中创建模板时,我需要编写如下内容:${_('Hello, %(fname)s %(lname)s') % {'fname':'John','lname':'Doe'}}
我在编写时解析时不断收到 SyntaxException: (SyntaxError) unexpected EOF。有没有办法做同样的事情?
${_('Hello, %s %s') % ('John', 'Doe')}
有效,但如果需要,它不允许在更改语言时更改替换顺序。
谢谢。
{}
在 Mako's 内部使用${}
很复杂;显然 Mako 在找到第一个后停止解析表达式}
。一种可能的解决方法是使用dict()
而不是{}
:
${_('Hello, %(fname)s %(lname)s') % dict(fname='John', lname='Doe')}
尝试新的 Python 字符串格式:
>>> "{foo} {bar}".format(foo="foo", bar="bar")
'foo bar'
>>> "{foo} {bar}".format(**{"foo": "Hello", "bar": "World!"})
'Hello World!'
它看起来更好,并且是面向未来的。