|
||||||||||||||||||||||
|
ホーム > Python からのデータストアの利用 - GQL > データストアに格納されたオブジェクトの取得 データストアに格納されたオブジェクトの取得前のページで、webapp のテンプレートを利用したプログラムの枠組みと、オブジェクトを保存する所までを記述しました。 ここではデータストアに保存されたオブジェクトを GQL を利用して取得し、それを webapp のテンプレートを利用して表示する方法を示します。 実際のところ非常に簡単です。 以前のコードの get メソッドを書き換えます。
def get(self):
messages = db.GqlQuery(
"SELECT * FROM Message ORDER BY postedon DESC")
template_values = {
'messages': messages
}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))
ポイントは GqlQuery を用いている箇所です。 GqlQuery は google.appengine.ext.db モジュールに実装されており、 Google App Engine のデータストアに対してクエリを実行するためのインターフェイスとなります。 機能がたくさんあるので、ここでは全部説明しませんが、上のコードによって全ての Message オブジェクトが取得されて、messages 変数にセットされます。 これをテンプレートに渡し、テンプレートの次の箇所でそれを表示しています。
{% for message in messages %}
<tr>
<td rowspan="2" valign="top" style="width:150px;">
{{message.name|escape}}<br>
<a href="mailto:{{message.email}}">{{message.email|escape}}</a>
</td>
<td>{{message.msg|escape}}</td>
</tr>
<tr>
<td>Posted On {{message.postedon}}</td>
</tr>
{% endfor %}
ホーム > Python からのデータストアの利用 - GQL > データストアに格納されたオブジェクトの取得 |
|
||||||||||||||||||||
|
© 2010-2011 Google App Engine 入門 |
||||||||||||||||||||||