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

时间:2011-03-04 05:53:31

标签: python google-app-engine jinja2

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

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

goody = object.key().name()

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

{% for object in objectList %}
{{object|key_name}}
{% endfor %}

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

2 个答案:

答案 0 :(得分:8)

Jinja2允许您根据此处的文档使用()来执行callables:http://jinja.pocoo.org/docs/templates/#other-operators

所以,这应该有效:

{% for instance in instance_list %}
   {{ instance.key().name() }}
{% endfor %}

答案 1 :(得分:2)

您可以在django模板中执行object.key.name来访问appengine数据存储区对象的密钥名称

通常,您可以通过object.key().name()

访问python代码中的键名

Django模板会自动尝试一些可能的方法来解释object.key.name以获得价值。