【发布时间】:2009-11-16 09:23:03
【问题描述】:
我在 web.py 模板模板中使用了内置的“sum”函数,但出现以下错误:
global name 'sum' is not defined
源码如下:
$if profs:
$for prof in profs:
$sum([1, 2, 3])
我可以在终端的 Python REPL 中很好地使用“sum”。
可能是什么问题?
谢谢, 雅各布
【问题讨论】:
我在 web.py 模板模板中使用了内置的“sum”函数,但出现以下错误:
global name 'sum' is not defined
源码如下:
$if profs:
$for prof in profs:
$sum([1, 2, 3])
我可以在终端的 Python REPL 中很好地使用“sum”。
可能是什么问题?
谢谢, 雅各布
【问题讨论】:
在字典中添加函数并作为全局参数传递给渲染:
render = web.template.render('templates/', globals={'sum': sum})
然后在你的模板中你就可以使用它了:
$def with (numbers)
<h1>Numbers add to $sum(numbers)</h1>
【讨论】:
并非所有 python 代码都可以在模板表示法中使用,请尝试以下操作:
$if profs:
$for prof in profs:
$code:
mysum = sum([1, 2, 3])
$mysum
【讨论】:
sum 值,例如通过属性或方法。