如何在Jinja2模板中循环子实体时显示父实体

时间:2012-04-11 06:04:41

标签: google-app-engine jinja2 app-engine-ndb

如何在jinja 2模板中使用此解决方案https://stackoverflow.com/a/10067749/604240

2 个答案:

答案 0 :(得分:1)

我同意我的问题是由于缺乏知识而不是问题。最终我想出了如何实现它。基本上我不知道如何将循环从python代码链接到查询,所以它可用于Jinja2模板。

虽然正确的解决方案可能是使用map()和回调函数https://developers.google.com/appengine/docs/python/ndb/queryclass#Query_map,但我现在正在使用临时解决方案,这对我来说很有用。

query = Image.query()
query2 = query.filter(Image.is_slider == 'yes')
for item in query2:
    item.parent = item.key.parent().get()

并在模板中

{% for item in query2 %}
    <img src="{{ item.url }}=s1000" alt="{{ item.title }}" title="{{ item.title }}" />
    <h2>{{ item.title }}</h2>
    <h3>{{ item.gallery }}</h3>
    <a href="/gallery/{{ item.parent.slug }}">Go to gallery</a>
{% endfor %}

答案 1 :(得分:0)

为什么不在jinja2模板上尝试{{ item.key.parent().get().slug }}(假设slug是Gallery实体的属性)。