在html模板中打印appengine模型实体id

use*_*563 5 python google-app-engine jinja2 webapp2

以下是我拥有的简单数据库模型:

class Notes(db.Model):
  text = db.StringProperty(multiline=True)
  date = db.DateTimeProperty(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

现在在url处理程序中,我将所有注释发送到模板,如下所示:

class MainPage(webapp2.RequestHandler):
  def get(self):
    notes = Notes.all()
    self.render_template("index.html", {'notes':notes})
Run Code Online (Sandbox Code Playgroud)

在我使用jinja2模板引擎的模板中,我希望id打印每个音符,以便我可以嵌入编辑链接,有点像这样:

{% for note in notes %}
<p>  
 {{ note.text }} <br>
 {{ note.date }} <br>
 (<a href ="edit/{{note.key.id}}">edit </a>)
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但麻烦的是,我没有看到任何打印,代替note.key.id 按照此处 的文档,key类代表数据库实体的唯一键id,它有一个方法,它是一个数值.对于我想要的音符集的单个id音符.

如果我使用django模板引擎我得到{{ notes.key.id }}打印的值,但jinja2我没有看到它.

我怎样才能做到这一点?

apc*_*ent 11

href用以下内容替换该行:

(<a href ="edit/{{note.key().id()}}">edit </a>)
Run Code Online (Sandbox Code Playgroud)

这就足够了.