从数据存储区

时间:2017-12-20 17:51:46

标签: python google-app-engine google-cloud-datastore jinja2

我正在尝试将查询结果输出到HTML表格中,并在其旁边放置一个删除该实体的链接。

如何从数据存储中检索每个实体的ID,以便删除链接知道需要删除哪个实体?我正在使用Python / Webapp2 / Jinja2。

HTML:

<table>
  <tr>
    <th><b>{{ result.email }}</th>
    <th><b>{{ result.date }}</th>
    <th><b>{{ result.title }}</th>
    <th><b>{{ result.content }}</th>
    <th><a href="/delete/{{ ID GOES HERE }}"</th> 
  </tr>
</table>

的Python:

class MyRequestsHandler(webapp2.RequestHandler): # Queries the datastore

def get(self):
    user = users.get_current_user()
    userIdentity = users.get_current_user().user_id()
    #email = users.get_current_user().email()
    login_url = users.create_login_url(self.request.path)
    logout_url = users.create_logout_url(self.request.path)

    q = WorkRequest.query(WorkRequest.userId == userIdentity)

    results = q.fetch(10)

    template = template_env.get_template('myrequests.html')
    context = {

        'user': user,
        'login_url': login_url,
        'logout_url': logout_url,
        'results': results,
    }

    self.response.out.write(template.render(context))

1 个答案:

答案 0 :(得分:1)

您使用的是自定义ID,还是来自ndb的标准整数ID?我想你想要的是:

{{result.key.id()}}

取决于您使用的型号。但您可以考虑向模板发送export class AppService { constructor( private database: Database ) {} public getSearchData(term) { return Observable.defer(() => { return Observable.fromPromise(this.database.getSuggestions(term) .then(function(res) { return res; }) ); }) } } 并使用该模板。