Genshi: фигурная скобка внутри сложного выражения вызывает ParseError - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть следующий фрагмент шаблона 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 Ответ

0 голосов
/ 06 ноября 2018

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

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

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

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