1

我有以下用于生成 HTML 的 Genshi 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...}语法更好的东西吗?

4

1 回答 1

1

除非您正在做更复杂的事情(代码/功能),否则您可以这样做:

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

对于复杂的东西,使用代码块语法

<div>
  <?python
      def greeting(name):
          return 'Hello {name}'.format(name=name) ?>
  ${greeting('foo')}
</div>
于 2018-11-06T05:03:45.973 回答