Генши: если / еще - PullRequest
       17

Генши: если / еще

6 голосов
/ 08 ноября 2010

Как мне сделать простой 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: выберите вместо ? Я не могу понять, как использовать его для условия if / else.

1 Ответ

8 голосов
/ 08 ноября 2010

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

<py:choose ...>
  <py:when test="...">
    ${c.row.currency.upper()}
  </py:when>
  <py:otherwise>
   ${c.row.currency.upper()}
  </py:otherwise>
</py:choose>
...