如何使用在TAL中定义的变量获取字典中键的值?

2 投票
2 回答
1134 浏览
提问于 2025-04-17 09:33

我在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

路径表达式的语法:

tal:define="foo dic/?var"

Python表达式的语法:

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

有关?var语法的详细说明,请查看Zope书籍

0

DonCallisto的dic[var]确实可以用

撰写回答