2010-11-08 8 views
6

Comment faire un simple if/else dans la langue du template Genshi?Genshi: if/else

J'ai trouvé this ticket, ce qui semble indiquer que Genshi ne supporte pas if/else, mais il n'explique pas vraiment ce qu'il supporte à la place.

Je veux fondamentalement juste quelque chose comme ceci:

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

Mais je reçois «directive Bad: autre. Dois-je utiliser py:choose instead? Je ne peux pas vraiment comprendre comment l'utiliser pour une condition if/else.

Répondre

8

Actuellement, vous ne pouvez pas faire d'autres constructions dans Genshi, et pour autant que je sache, il n'est pas prévu de l'ajouter. Au lieu de cela, comme vous l'avez mentionné, utilisez py: choisissez. Voici comment vous utilisez py: choisissez comme type de construction if/else:

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

Cela fonctionne, merci! Je viens d'utiliser comme balise d'ouverture. – AP257

Questions connexes