0

我正在使用 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',而不是关联的对象。有谁知道我做错了什么?

4

1 回答 1

1

我不知道速度引擎,但我知道当你这样做时 Python 会产生一个键列表for k in dictionary

由于您正在迭代walks如果您使用 alist而不是 a会更有意义dict

于 2013-04-02T18:27:13.353 回答