Генши: если/иначе

Как мне сделать простое if/else на языке шаблонов Genshi?

Я нашел этот билет, который, кажется, предполагает, что Genshi не поддерживает if/else, но на самом деле это не объясняет, что он поддерживает вместо этого.

Я в основном просто хочу что-то вроде этого:

  <py:if test="c.row.currency">
  ${c.row.currency.upper()}
  <py:else>
  ${c.row.dataset_.currency.upper()} 
  </py:if>

Но я получаю «Плохая директива: еще». Должен ли я вместо этого использовать py:choose? Я не могу понять, как использовать его для условия if/else.


person AP257    schedule 08.11.2010    source источник


Ответы (1)


В настоящее время вы не можете делать конструкции if else в Genshi, и, насколько мне известно, добавлять их не планируется. Вместо этого, как вы упомянули, используйте py:choose. Ниже показано, как вы используете py:choose как тип конструкции if/else:

<py:choose ...>
  <py:when test="...">
    ${c.row.currency.upper()}
  </py:when>
  <py:otherwise>
   ${c.row.currency.upper()}
  </py:otherwise>
</py:choose>
person Alex    schedule 08.11.2010
comment
Это работает, спасибо! Я просто использовал ‹py:choose› в качестве открывающего тега. - person AP257; 09.11.2010