Das $ {'foo %(a) s bar %(b) s' %{'a': '1', 'b': '2'}} funktioniert in einer Mako -Vorlage nicht

StackOverflow https://stackoverflow.com/questions/2221910

  •  19-09-2019
  •  | 
  •  

Frage

In einem Mako Vorlage, ich muss so etwas wie:

${'foo %(a)s bar %(b)s' % {'a': '1', 'b': '2'}}

Wenn eine Tun, bekomme ich diesen Fehler:

SyntaxException: (SyntaxError) unerwartetes EOF beim Parsen
(, Zeile 1) ("'foo %(a) s bar %(b) s' %{'a': '1', 'b': '2'") in der Datei…

Wie behebte ich dieses Problem?

Ich muss diese Syntax im übersetzten Text verwenden:

$(_(u'foo bar %(a)s ... %(b)s) % { ... })
War es hilfreich?

Lösung

Eine Arbeit ist es, das DICT-Objekt auf andere Weise zu bestehen. Zum Beispiel:

from mako.template import Template

print Template("${'foo %(a)s bar %(b)s' % data}").render(data=dict(a='Alpha',b='Beta'))

Andere Tipps

Lösung:

${'foo %(a)s bar %(b)s' % dict((('a', '1'), ('b', '2'),))}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top