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 回答