2011-01-06 17 views
6

を表現「の構文解析中に、予期しないEOF」次は、構文エラーをスローします。私は、内側右中括弧からだと思い辞書リテラルは

${foo({'bar':'baz'})} 

。 これは正常に動作します:

${foo(dict(bar='baz'))} 

が、リテラルの辞書を使用するための構文は何ですか?ブライアンから

答えて

6

Mako Templates Google GroupにRUE:

これは長期未解決のバグです。単にdict()を使用してください。文字列でないキーを持つ辞書 が必要な場合は、タプルのリストをdictに変換します。例: これに代えて:

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

は、次の操作を行います。

${foo(dict([(1, 'a'), (2, 'b')]))}