尝试使用TAL,TALES& amp;金属

时间:2010-11-25 22:31:13

标签: python zope template-tal zpt template-metal

TALTALESMETAL都是zope模板语言。我不明白的是为什么这么多麻烦。我不明白ZTL的精神,有什么提示吗?

还有一个问题:是否有一个独立的库试图在Zope生态系统之外实现与ZTL相同的东西?

2 个答案:

答案 0 :(得分:4)

tal / tales的核心思想是拥有适当的有效(x)html。所有模板功能都在属性或命名空间元素中。 HTML编辑器应该可以正常使用这些模板。我们举个例子吧。首先/故事:

<ul>
  <li tal:repeat="customer customers">
    <a href=""
       tal:attributes="href customer.url"
       tal:content="customer.name>
      Sample customer name
    </a>
  </li>
</ul>

在Django的模板语言中,仅作为示例:

<ul>
{% for customer in customers %}
  <li>
    <a href="{{ customer.url }}">
      {{ customer.name }}
    </a>
  </li>
{% endfor %}
</ul>

哪一个更好?打开问题。一个用你的html编辑器很好用,另一个让非html语句更清晰。无论如何,使其成为正确的HTML是tal / tales背后的主要思想!

答案 1 :(得分:1)

您的上一个问题:http://zpt.sourceforge.net/

由于另一个问题不是 特定的,我不确定是否有明确的答案,除非原始开发者之一回答。

Zope Page Templates是使用TAL / TALES / METAL的模板系统,它试图解决的具体问题与许多其他模板系统相同:生成有效的HTML。在ZPT的情况下,也可以创建任何XML的风格。在它创建时,它有一些出色的属性:

  • 模板本身可用于设计工具,如Dr * beep * mw * beep * ver或Fr * beeb * ntp * beep * ge,无需修改
  • 确保了XML / XHTML的嵌套结构(无效的结构化XML不起作用)
  • 模板本身可以嵌套,混合和匹配
  • 纯python实现(相当干净的代码)和嵌入式python表达式

与此同时网络已经赶上并且有许多替代方案