我在Chameleon
模板中有以下代码:
<span tal:repeat="menu view.site_menu">
<tal:block tal:condition="menu.current">
<span>${menu.title}</span>
</tal:block>
<tal:block tal:condition="not menu.current">
<span><a href="/${menu.href}">${menu.title}</a></span>
</tal:block>
<tal:block tal:condition="not repeat/menu/end">
<span> | </span>
</tal:block>
</span>
当我尝试渲染此页面时,出现以下错误:
TypeError: unsupported operand type(s) for /: 'RepeatDict' and 'dict'
- Expression: "not repeat/menu/end"
...
谁能看到我在这里做错了什么?
答案 0 :(得分:0)
我能通过反复试验来找到问题的解决方案。这是工作代码:
<span tal:repeat="menu view.site_menu">
<tal:block tal:condition="menu.current">
<span>${menu.title}</span>
</tal:block>
<tal:block tal:condition="not menu.current">
<span><a href="/${menu.href}">${menu.title}</a></span>
</tal:block>
<tal:block tal:condition="not repeat.menu.end">
<span tal:omit-tag="">|</span>
</tal:block>
</span>
这可以按预期工作,并将分隔符放在每个菜单项之间而不是最后。
我确信我以前尝过这个,但它现在正在运作。