Das $ {'foo %(a) s bar %(b) s' %{'a': '1', 'b': '2'}} funktioniert in einer Mako -Vorlage nicht
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) % { ... })
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