Es folgt die einfache Datenbankmodell ich habe:drucken Sie das appengine Modell Entity-ID im HTML-Template
class Notes(db.Model):
text = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)
Jetzt in der URL-Handler, i auf die Vorlage alle Noten senden wie folgt:
class MainPage(webapp2.RequestHandler):
def get(self):
notes = Notes.all()
self.render_template("index.html", {'notes':notes})
In der Vorlage i jinja2 Template-Engine verwende, möchte ich die id
jeder der Noten gedruckt werden, so dass ich einen Link bearbeiten einbetten können, etwa wie folgt aus:
{% for note in notes %}
<p>
{{ note.text }} <br>
{{ note.date }} <br>
(<a href ="edit/{{note.key.id}}">edit </a>)
{% endfor %}
Aber das Problem ist, ich sehe alles nicht gedruckt, anstelle von note.key.id
ich nach dem docs über herekey
Klasse stellt einen eindeutigen Schlüssel für eine Datenbank Entität und dies hat eine Methode id
, seinen einen numerischen Wert. Für eine einzelne Note aus der Sammlung von Noten möchte ich die id
der Notiz.
Wenn ich die Django Templating Engine verwende, bekomme ich die Werte {{ notes.key.id }}
gedruckt, aber mit jinja2
sehe ich es nicht.
Wie kann ich das tun?
Ich habe es gerade getestet, in meinem Fall musste ich Ihre Lösung wie folgt anpassen: '{{job.key.id()}}' (** key **, nicht * key() *), mit Python 2,7, Kolben, jinjia2, ndb ... – firepol