是否可以从jinja2模板中访问对象的key_name?

Bob*_*ian 8 python google-app-engine jinja2

我正在使用带有webapp框架的python google app引擎,用jinja2模板替换django模板.

我知道你可以通过调用它来获取一个对象的key_name,如下所示:

goody = object.key().name()
Run Code Online (Sandbox Code Playgroud)

但是可以从模板逻辑中访问key_name吗?像这样的东西?

{% for object in objectList %}
{{object|key_name}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,但是我可以使用一些过滤器或隐藏属性来获取应用程序引擎key_name,从模板内部存储一个对象,而不需要在处理程序方法中进行额外的操作吗?

Mah*_*der 8

Jinja2允许您执行callables,只需()根据以下文档使用:http://jinja.pocoo.org/docs/templates/#other-operators

所以,这应该工作:

{% for instance in instance_list %}
   {{ instance.key().name() }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)