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>