谷歌应用引擎模板:循环并检查相应实体的存在

时间:2012-12-18 05:59:01

标签: google-app-engine templates

我需要创建一个100个单元格的表,并且如果相应的实体存在,则在每个单元格中显示它的信息,否则显示“空”。我怎么做? python程序(Item具有“seqNumber”和“name”的属性):

query = db.Query(Item)
items = query.fetch(100)
render(..., {'range100':range(100), 'items':items}, ...)

HTML:

<table>
<tr>
{% for i in range100 %}  <!-- for item in items (how?) -->
<td>
    {% if item.seqNumber == forloop.counter (how?) %}
      {{item.name}}
    {% else %}
      Empty
    {% endif %}
{% endfor %}
</tr>
</table>

1 个答案:

答案 0 :(得分:0)

query = db.Query(Item)
items = query.fetch(100)
l = []
for i in enumerate(range(99)):
    try:
        l.append((i,items[i].name))
    except:
        l.append((i,None))

render(stuff = l)

这一切都是未经测试的,而try / except无疑是不理想的,只需更容易编写代码然后在评论中为您提供如何处理此问题的一般概念。

<table>
<tr>
{% for i in stuff %}  
<td>
      {{ i.0 }}<!-- ID -->
      {% if i.1 %}
      {{ i.1 }}<!-- value -->
    {% else %}<!-- if the value is none -->
      "VALUE NEEDED"
    {% endif %}
{% endfor %}
</tr>
</table>