不正确渲染
问题描述:
生成的模板所以我有这样的代码在谷歌应用程序引擎模板:不正确渲染
<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>
答
尝试只是“选择”,而不是选择=“是”令牌
答
布尔属性的语法是HTML和XHTML不同。显然,你输出HTML,并需要使用
<option ... selected ...>
在XHTML中你可以使用
<option ... selected="selected" ...>
这是不幸的,我们有全HTML/XHTML和MIME类型惹可怕的非标准 - 兼容的浏览器。你只需要知道这些东西,以确保你正在吐出在大多数浏览器上正确呈现的页面。
感谢您的帮助,结果发现问题在别处。 – wodemoneke 2009-01-22 12:33:50