【问题标题】:Pyramid and Chameleon ZPT Repetition金字塔和变色龙 ZPT 重复
【发布时间】:2023-03-03 03:12:02
【问题描述】:

我正在尝试遍历一个列表并获得如下输出:

Python:

items=['item1', 'item2', 'item3']
return dict(items=items)

HTML:

<ul>
<li><a href="/item1>item1</a></li>
<li><a href="/item1>item2</a></li>
<li><a href="/item1>item3</a></li>
</ul>

我可以正确地获取列表部分,但将其添加到锚点并不顺利。

【问题讨论】:

    标签: python pyramid chameleon template-tal


    【解决方案1】:

    怎么样(假设“items”是从您的代码传递到您的模板的命名空间):

    <ul>
     <tal:block repeat="item items">
      <li><a href="" tal:attributes="href item" tal:content="item">item</a></li>
     </tal:block>
    </ul>
    

    您可以将 tal:repeat 放在 li 元素上,但我个人喜欢使用 tal 命名空间中的元素使用专用标签(惯用选择是 tal:block)。

    另见:http://drdobbs.com/web-development/184404974

    【讨论】:

    • 非常感谢,工作几乎完美。一个问题。你必须
    • 不起作用。您必须使用 href 和 tal:attributes 添加 。还有一个额外的问题。是否可以连接 href 以使其成为 href="/file/item1"。再次感谢。再次感谢!
  • 很高兴它对你有用。是的,我看到了 HTML 错误并在上面的答案中更正了。
  • for /file/item1 使用 tal:attributes="href string:/file/${item}" 作为您的表达式。
  • 太棒了!也有效。再次感谢!
  • 您可以使用 ${...} 表达式来简化此操作。你的 li 会变成
  • ${item}
  • ,这样更容易阅读。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签