Выполнение <input disabled = "disabled" /> или другого логического атрибута в TAL
Как можно определить атрибуты, которые могут существовать или не существовать? Примерами являются флажок флажок ="флажок" или отключен ="отключен" атрибуты HTML.
Какой тип выражения: атрибуты задействован?
1 ответ
Решение
Когда атрибут указан в 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/title
решает в None
атрибут также не указывается.
Из спецификации TALES 1.4, attributes
раздел:
Если выражение, связанное с назначением атрибута, ничего не оценивает, этот атрибут удаляется из элемента оператора.
Где питон None
интерпретируется как "ничто".