我正在使用带有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,从模板内部存储一个对象而不需要在处理程序方法中进行额外的摆弄?
答案 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()
Django模板会自动尝试一些可能的方法来解释object.key.name
以获得价值。