不正确渲染

问题描述:

生成的模板所以我有这样的代码在谷歌应用程序引擎模板:不正确渲染

<select name='voter'> 

{% for voter in allowed_voters %} 

    <option {% ifequal voter last_voter %}selected="yes" {% endifequal %} 
    value='{{voter}}'>{{voter}}</option> 

{% endfor %} 

</select> 

的页面不选择正确的人,而不是默认的第一个选项渲染。查看源代码显示,生成的html已将选定的属性放在正确的位置,所以我无法弄清楚为什么这种方式不起作用。

option's select attribute是一个布尔属性。

请尝试以下之一:

<option {% ifequal voter last_voter %}selected="selected" {% endifequal %} 
value='{{voter}}'>{{voter}}</option> 


<option {% ifequal voter last_voter %}selected {% endifequal %} 
value='{{voter}}'>{{voter}}</option> 
+0

感谢您的帮助,结果发现问题在别处。 – wodemoneke 2009-01-22 12:33:50

尝试只是“选择”,而不是选择=“是”令牌

布尔属性的语法是HTML和XHTML不同。显然,你输出HTML,并需要使用

<option ... selected ...> 

在XHTML中你可以使用

<option ... selected="selected" ...> 

这是不幸的,我们有全HTML/XHTML和MIME类型惹可怕的非标准 - 兼容的浏览器。你只需要知道这些东西,以确保你正在吐出在大多数浏览器上正确呈现的页面。