1

我正在使用 App Engine 生成与我的 GQL 表对应的 HTML 表。每个 HTML 行将包含多个数据和 GQL 行 ID。HTML 中的此 ID 允许我稍后删除该项目。

首先,我将数组提供给模板:

 userSearch = UserSearch.all()
 us = userSearch.fetch(1000)
 template_values = { 'userSearch' : us }
 path = os.path.join(os.path.dirname(__file__), 'template/index.html')
 self.response.out.write(template.render(path, template_values))

在模板中,我在 HTML 中打印 ID:

{% for us in userSearch %}
    <tr>
        <td><a href="/delete?id={{ us.ID }}">delete</a></td>
        <td>...</td>
    </tr>
{% endfor %}

但是在 HTML 中,ID 是空的,所以我不能删除我的项目:

class DeleteItem(webapp.RequestHandler):
    def get(self):
        id = int(self.request.get('id'))
        item = UserSearch.get_by_id(id)
        if item != None:
            db.delete(item)

我不知道出了什么问题?我什至不知道这是否是继续的方法...获取要删除的元素...谢谢您的帮助

4

1 回答 1

2

假设 1) 您指的是内置id()和 2) 您正在使用 Django 模板,您的模板语法应该如下所示:

{% for us in userSearch %}
    <tr>
        <td><a href="/delete?id={{ us.key.id }}">delete</a></td>
        <td>...</td>
    </tr>
{% endfor %}

如果您使用 Jinja2 模板,则语法会略有不同:

{% for us in userSearch %}
    <tr>
        <td><a href="/delete?id={{ us.key().id() }}">delete</a></td>
        <td>...</td>
    </tr>
{% endfor %}
于 2012-06-18T19:22:57.647 回答