Genshi: фигурная скобка внутри сложного выражения вызывает ParseError

У меня есть следующий фрагмент шаблона Genshi HTML, который используется для генерации HTML.

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

Из-за этого фигурные скобки в струне Генши приподнимается.

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...} синтаксис?

1 ответ

Решение

Если вы не делаете что-то более сложное (код / ​​функция), вы можете сделать:

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

Для чего-то сложного используйте синтаксис блока кода:

<div>
  <?python
      def greeting(name):
          return 'Hello {name}'.format(name=name) ?>
  ${greeting('foo')}
</div>
Другие вопросы по тегам