Reputation: 1969
I'm using python google app engine with the webapp framework, substituting jinja2 templates for django templates.
I know you can get the key_name of an object from inside a handler method by calling it like so:
goody = object.key().name()
But is it possible to access the key_name from within the template logic? Something like this?
{% for object in objectList %}
{{object|key_name}}
{% endfor %}
Obviously that doesn't work, but is there some filter or hidden attribute I can use to get at the app engine key_name an object is stored with from inside the template without extra fiddling inside the handler method?
Upvotes: 9
Views: 10429
Reputation: 41
You can do object.key.name
inside django template to access appengine datastore object's key name
Normally, you access key name in python code through object.key().name()
Django template automatically tries a few possible ways to interpret object.key.name
to give you the value.
Upvotes: 2
Reputation: 24919
Jinja2 allows you to execute callables, just by using ()
according to the documentation here: http://jinja.pocoo.org/docs/templates/#other-operators
So, this should work:
{% for instance in instance_list %}
{{ instance.key().name() }}
{% endfor %}
Upvotes: 10