2012-06-18 32 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

相關問題