How one does attributes which may or may not exist? Exampls are checkbox checked="checked" or disabled="disabled" HTML attributes.
What kind of tal:attributes expression is involved?
When an attribute listed in tal:attributes
is set to None, the attribute is omitted:
<span tal:attributes="title python:len(item['title']) < 10 and item['title'] or None">
Only a title if shorter than 10 characters.
</span>
The same applies to a path expression to a non-existing object:
<span tal:attributes="title item/title" />
Now the title
attribute will only be set if there is a title key or attribute on item. Note that if item/title
resolves to None
, the attribute is omitted as well.
From the TALES 1.4 specification, attributes
section:
If the expression associated with an attribute assignment evaluates to nothing, then that attribute is deleted from the statement element.
Where python None
is interpreted as "nothing".