Выполнение <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 интерпретируется как "ничто".

Другие вопросы по тегам