1

如何处理可能存在或不存在的属性?示例是 checkbox checked="checked" 或 disabled="disabled" HTML 属性。

涉及到什么样的 tal:attributes 表达式?

4

1 回答 1

2

当列出的属性tal:attributes设置为 None 时,该属性将被省略:

<span tal:attributes="title python:len(item['title']) < 10 and item['title'] or None">
   Only a title if shorter than 10 characters.
</span>

这同样适用于不存在对象的路径表达式:

<span tal:attributes="title item/title" />

现在,只有在项目有标题键或属性title时才会设置属性。请注意,如果解析为,则该属性也将被省略。item/titleNone

来自TALES 1.4 规范,attributes部分

如果与属性分配关联的表达式的计算结果为空,则从语句元素中删除该属性。

pythonNone被解释为“无”的地方。

于 2012-07-11T09:48:27.343 回答