0

我在 App Engine 中创建了一个博客,我目前正在为博客文章添加评论支持。我已经制作了一个 db.ListProperty(db.Key) 来为发布到该特定帖子的每条评论存储一个密钥。

问题是,我试图在我的模板中执行此操作,但我不能在那里使用 db.get。

例如,能够从 jinja 执行类似“Comment.get(key)”的操作

您是否有任何其他解决方案如何在我的模板中执行此操作,或者我是否必须将列出我的博客文章的 for 函数从我的模板中移开并将其作为 kwarg 传递?

谢谢

4

1 回答 1

1

花了一段时间,需要重新思考,但我修好了。我将它从模板中移开并制作了一个获取评论功能,该函数将获取的帖子作为输入并输出评论列表。然后我只是把它作为一个 kwarg ofc 传递。看起来像这样

def get_comments(posts):
    postids = []
    for post in posts:
        postids.append(post.key().id())
    comments = {}
    for i in postids:
        comments[i] = Comment.all().ancestor(Blogpost.get_by_id(i))
    return comments

在我的 jinja 模板中,我做了一个简单的 for 循环,看起来像这样

{% for comment in comments[entry.key().id()] %}

可能不是最好的方法,但体面且效果很好

于 2013-03-27T10:46:27.547 回答