升级猎豹模板并在变量分配中获得奇怪的错误

时间:2013-05-16 17:33:53

标签: python cheetah

我试图将工作项目中的Cheetah从0.9升级到2.4.4。在模板中创建某些变量时,我遇到了一些奇怪的错误。以下是一个例子:

#set formUtil = $iLib.aquariumFactory("widget.FormUtil",
    defaults=[{"username": $session.get("username")}, $form])

这会在编译时产生以下错误:

  

NotFound:搜索'get'时无法找到'get'

如果我像这样重构:

#set username = $session.get("username")
#set formUtil = $iLib.aquariumFactory("widget.FormUtil",
    defaults=[{"username": $username}, $form])

我没有错误。我在其他地方遇到类似的错误(“在搜索X时找不到X”),但我不清楚猎豹的变化是什么,以便我能以一致的方式解决它。

1 个答案:

答案 0 :(得分:1)

我想出了这个问题。 Cheetah的WebWare Servlet代码包含请求,响应,会话和事务的变量。这些变量成为模板中的占位符。如果您不使用WebWare,则这些占位符将设置为None,并将覆盖搜索列表中任何类似命名的值。