Genshi:复杂表达式中的大括号导致 ParseError

Genshi: curly brace inside complex expression causes ParseError

我有以下 Genshi HTML 模板片段用于生成 HTML。

<div>
    ${'Hello {name}'.format(name='foo')}
</div>

由于字符串中的大括号,Genshi 对此不以为然。

Traceback (most recent call last):
  File "C:\Python36\lib\site-packages\genshi\input.py", line 161, in _generate
    self.expat.Parse(data, False)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 137, column 34

有没有办法避开花括号?我应该使用比 ${...code...} 语法更好的东西吗?

除非您正在做更复杂的事情 (code/function),否则您可以这样做:

<div>
    Hello ${name}  // or just Hello $name
</div>

对于复杂的东西,使用 code block syntax:

<div>
  <?python
      def greeting(name):
          return 'Hello {name}'.format(name=name) ?>
  ${greeting('foo')}
</div>