9

我正在使用带有 webapp 框架的 python 谷歌应用程序引擎,用 jinja2 模板替换 django 模板。

我知道您可以通过如下调用从处理程序方法中获取对象的 key_name:

goody = object.key().name()

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

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

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

4

2 回答 2

10

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

所以,这应该工作:

{% for instance in instance_list %}
   {{ instance.key().name() }}
{% endfor %}
于 2011-03-04T07:13:32.760 回答
2

您可以object.key.name在 django 模板中访问 appengine 数据存储对象的键名

通常,您可以通过以下方式访问 python 代码中的键名object.key().name()

Django 模板会自动尝试几种可能的解释方式来object.key.name为您提供价值。

于 2011-07-20T16:22:39.563 回答