Как проверить, существует ли строка в шаблоне?

Я возвращаю строку body_class на мой взгляд. Я не могу поставить в состояние, не нарушая его:

<body tal:condition="body_class" class="${body_class}">
<body tal:condition="not body_class">

Вроде работает. Он выводит класс тела, но остальная часть шаблона не работает. Я ищу решение, которое помещает в класс тела, если строка существует, в противном случае пропускает ее.

Не знаю, что я делаю не так.

2 ответа

Я полагаю, вы говорите о браузере (BorwserView).

Нечто подобное должно работать, если body_class является методом вашего BrowserView:

<body tal:condition="view/body_class" class="${view/body_class}">
...
</body>
<body tal:condition="not: view/body_class">
...
</body>

Вы не хотите использовать tal:condition Вот; Вы включаете или выключаете весь элемент, включая его содержимое.

Вы только хотите установить атрибут класса:

<body tal:attributes="class: body_class">

Это хорошо работает для пустых строк, вы просто получите пустую class элемент; если body_class является Noneатрибут вообще будет опущен.

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