2012-05-04 7 views
-1

Google App Engineのトレーニングに従っており、ジンジャーテンプレートを正しくレンダリングできません。GQLクエリを使用してjinja2テンプレートをレンダリングできません。

は、次のコードは、私はそれが何を期待し

(それは私が私のGQLクエリから値を持つテンプレートをレンダリングすることができます:

def get(self): 
    blogpost = db.GqlQuery("SELECT * FROM BlogPosts ORDER BY created ASC") 
    self.render('blog.html',blogpost=blogpost) 

このコードは、私のようなタグを使用する場合と私のblog.htmlテンプレートをレンダリング{{post.subject}}

このコードは、私はテンプレートをレンダリングすることはできません。

def get(self): 
    path = self.request.path[1:] 
    post = db.GqlQuery("SELECT * FROM BlogPosts WHERE ID = " + str(path)) 
    self.render('permalink.html',post=post) 
+1

「テンプレートをレンダリングしません」とはどういう意味ですか?あなたはエラーが出ますか?テンプレートに値はありませんか?あなたはどのようなパスを記録しようとしましたか?あなたは実際の投稿を取得するかどうか? – aschmid00

+0

@ aschmid00エラーはありません。 {{templatevalues}}のいずれにもクエリ値が入力されていないので、テンプレートのhtmlを取得します。 pathは1のようなintです。私はintをpathとして使用し、strとしてキャストして、いずれかがgql文を動作させるかどうかを調べました。私の質問が実際の投稿になるかどうかはどうやって判断するのか分かりません。あなたがそれをする方法を私に教えることができるなら、それは有用であろう。 – somas1

+0

ロギングモジュールを使用します。 – aschmid00

答えて

1

私はあなたがIDによって、このように照会することができないと考えているidはそのエンティティキーの一部です。:

SELECT * FROM YourModel where __key__ = KEY('YourModel', <numeric_id>) 

これは、望ましい結果をもたらすはずです。

+0

または、クエリを完全に避けて、 'YourModel.get_by_id'を使用してください。ここでクエリを実行する理由はありません。 –

関連する問題