如何使用TAL中定义的变量检索字典中键的值?

时间:2012-01-04 20:23:30

标签: python plone zope template-tal zpt

我在python中定义了一个字典:

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

我使用名为var的tal:define定义了另一个变量,它是'a'或'b'。 我尝试做错时收到错误:

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

(foo则为'1'或'2') 我得到KeyError: '${var}'。我已经尝试了dic[$var]dic[var]等等,但它们都无效。如何使用先前使用tal:define定义的变量作为字典的键来获取其值。

2 个答案:

答案 0 :(得分:5)

路径表达式语法:

tal:define="foo dic/?var"

Python表达式语法:

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

有关?var语法的说明,请参阅Zope Book

答案 1 :(得分:0)

DonCallisto的dic [var]确实有效