2013-09-20 5 views
0

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

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

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

Не знаю, что я делаю неправильно.

ответ

0

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

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

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

Не думайте, что я использую это. В моей функции views я возвращаю {body_class: 'мой класс'} ', и именно это я пытаюсь проверить существование. – izolate

+0

Если возможно, я бы хотел, чтобы не было двух экземпляров тега ''. – izolate

0

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

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

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

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

Смежные вопросы