Как получить значение ключа в словаре, используя переменную, определенную в TAL? - PullRequest
2 голосов
/ 05 января 2012

Я определил словарь в Python:

tal:define="dic python:{'a':'1', 'b':'2'};"

У меня есть другая переменная, определенная с помощью tal:define, которая называется var, которая является либо a, либо b. Я получаю сообщение об ошибке при попытке сделать:

tal:define="foo python:dic['${var}'];"

(тогда foo будет «1» или «2») Я получаю KeyError: '${var}'. Я пробовал dic[$var], dic[var] и т. Д., И все они не работают. Как использовать переменную, определенную ранее, используя tal:define в качестве ключа к словарю, чтобы получить ее значение.

Ответы [ 2 ]

5 голосов
/ 05 января 2012

Синтаксис выражения пути:

tal:define="foo dic/?var"

Синтаксис выражения Python:

tal:define="foo python:dic[var]"

См. Zope Book для описания синтаксиса? Var.

0 голосов
/ 10 января 2012

DIC Донкаллисто [var] работает

...