0

Genshi テンプレートで次のエラーが発生します。

TemplateSyntaxError:ディレクティブの式"${item.error}"の構文が無効です"choose"

エラーが指定するテンプレート コードの部分は次のとおりです ( 「feed」は、テンプレートに渡される辞書のリストです)。

<item py:for="item in feed">
<py:choose error="${item.error}">
    <py:when error="0">
        <title>${item.something}</title>
    </py:when>
    <py:otherwise>
        <title>${item.something}</title>
    </py:otherwise>
</py:choose>
</item>

基本的に、item.error は a'0'または a のいずれかを保持し、それ'1'に基づく出力が必要です。エラーがどこにあるのかわかりません。助けていただければ幸いです。ありがとう。

4

2 に答える 2

4

ドキュメントではおそらくこれが明確にされていませんが、属性をtest(例のように)呼び出す必要がありますerror

<item py:for="item in feed">
<py:choose test="item.error">
    <py:when test="0">
        <title>${item.something}</title>
    </py:when>
    <py:otherwise>
        <title>${item.something}</title>
    </py:otherwise>
</py:choose>
</item>
于 2009-06-21T17:44:08.477 に答える
0

Genshi を使用したことはありませんが、見つけたドキュメントに基づいて、テンプレート ディレクティブ引数内でインライン Python 式構文を使用しようとしているように見えますが、これは不要なようです。代わりにこれを試してください:

<item py:for="item in feed">
<py:choose error="item.error">
    <py:when error="0">
        <title>${item.something}</title>
    </py:when>
    <py:otherwise>
        <title>${item.something}</title>
    </py:otherwise>
</py:choose>
</item>
于 2009-05-01T18:49:34.843 に答える