出于性能方面的建议,我正在研究如何使用 pr 编译的模板。
我hello.tmpl
在模板目录中编辑为
#attr title = "This is my Template"
<html>
<head>
<title>\${title}</title>
</head>
<body>
Hello \${who}!
</body>
</html>
然后发出cheetah-compile.exe .\hello.tmpl
并得到hello.py
在另一个 python 文件runner.py
中,我有:
#!/usr/bin/env python
from Cheetah.Template import Template
from template import hello
def myMethod():
tmpl = hello.hello(searchList=[{'who' : 'world'}])
results = tmpl.respond()
print tmpl
if __name__ == '__main__':
myMethod()
但结果是
<html>
<head>
<title>${title}</title>
</head>
<body>
Hello ${who}!
</body>
</html>
调试了一会,发现里面hello.py
:
def respond(self, trans=None):
## CHEETAH: main method generated for this template
if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
trans = self.transaction # is None unless self.awake() was called
if not trans:
trans = DummyTransaction()
看起来 trans 是 None,所以它转到了DummyTransaction
,我在这里错过了什么?关于如何修复它的任何建议?