2012-06-18 31 views
1

我正在使用App Engine生成与我的GQL表格对应的HTML表格。 每个HTML行将包含多个数据和GQL行ID。 HTML中的这个ID允许我稍后删除该项目。Google App Engine - 在模板中打印GQL ID字段HTML

首先我给数组模板:

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)) 

在我打印ID在HTML模板:

{% 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) 

我不知道什么是错? 我甚至不知道这是否继续......去删除元素的方式...... 谢谢你的帮助

回答

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 %} 
+0

它的工作原理!你说得对,我正在使用Django模板!非常感谢你! – Bibix

+0

非常欢迎您。快乐的编码。 – bernie

相关问题