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 に答える