我正在使用 airspeed 包来处理 Velocity 模板(现有 Java/Velocity 项目的脚本,因此选择了引擎)。我已经将数据建模为自定义对象的字典,现在我试图弄清楚如何在 Velocity 模板中迭代它们。
Python代码:
class Walkthrough:
def __init__(self, title):
self.title = title
self.pages = {}
def add_page(self, page):
self.pages[page.number] = page
class Page:
def __init__(self, title):
self.title = title
walks = {}
walks['obj_1'] = Walkthrough('Object 1')
walks['obj_2'] = Walkthrough('Object 2')
loader = airspeed.CachingFileLoader("./velocity")
text_template = loader.load_template("text_only.vm")
map = { 'walkthroughs': walks }
text_template.merge(map, loader=loader)
速度模板:
<html>
...
#foreach($walk in $walkthroughs)
<h3>$walk.title</h3>
#end
...
</html>
我只得到'obj_1'和'obj_2',而不是关联的对象。有谁知道我做错了什么?