Как проверить, существует ли строка в шаблоне?
Я возвращаю строку 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
атрибут вообще будет опущен.