在web.py模板中使用内置'str'函数:找不到全局名称

时间:2010-12-29 20:33:52

标签: python web.py

我花了太多时间试图解决这个问题:

我正在传递一个类似这样的数字的模板,并尝试将其设为字符串:

$ def with(num)

$(STR(NUM)) 要么 $ STR(NUM)

这会生成错误,指出未找到全局名称“str”。

编辑&解决方案:我这样做,所以我可以参考“img [0-n] .png”。如果num作为数字传递,你可以通过只说“img $(num).png”来创建这个字符串。无需显式将num转换为字符串。

2 个答案:

答案 0 :(得分:3)

将str作为全局传递给渲染对象:

render = web.template.render('templates', globals={ 'str': str })

答案 1 :(得分:0)

或者您可以使用结构“%d”将整数转换为字符串,例如:

stringified_int =“%d”%n

或使用模板样式输入您的问题:

$ filename =“ img [0-%d]”%n

我不知道这是否适用于python2,但适用于python3。