Mako、Babel与字符串插值

3 投票
1 回答
567 浏览
提问于 2025-04-17 06:33

我想做这样的事情:

${_('Hello ${name}, welcome to...', mapping=dict(name='${name}'))}

这里的 _() 是我用来翻译的函数,第一个 ${name} 是我希望由 Babel 处理的字符串插值,而第二个 ${name} 我希望由 Mako 替换,这样它的值就能从 Python 字典中获取:

最终渲染出来的结果是:

Hello ${name}, welcome to...

这不是我想要的。问题似乎在于,第二个 ${name} 嵌套在另一个 ${} 里面,所以没有被计算出来。

我想要的结果是:

Hello Ryan, welcome to...

我该怎么做才能实现这个呢?

1 个回答

3

为什么不使用Python的字符串格式化呢?

${ _('Hello {name}, welcome to ...').format(name=name) }

撰写回答