複数モデルの連携処理 (5/6)
作成:2010-01-08 11:02
更新:2010-05-10 22:02
更新:2010-05-10 22:02
■messageのビューを作る
続いて、MessageDataの作成と一覧表示をする、<B[message.htmlテンプレートを作成しましょう。ソースコードは、以下にあげるリストのようになります。
ここでも、同様に{% for data in datas %}で繰り返し処理をしています。これでMessageDataのデータを書き出していますが、よく見ると、{{data.member.name}}というように、MessageDataのmemberプロパティのnameを出力していますね。memberには、MemberDataインスタンスが保管されていますから、このようにして、このMessageDataに関連付けられているMemberDataの値を取り出し処理することができるわけです。参照を使うと、シームレスに関連するモデルを扱えることがわかりますね。
ここでも、同様に{% for data in datas %}で繰り返し処理をしています。これでMessageDataのデータを書き出していますが、よく見ると、{{data.member.name}}というように、MessageDataのmemberプロパティのnameを出力していますね。memberには、MemberDataインスタンスが保管されていますから、このようにして、このMessageDataに関連付けられているMemberDataの値を取り出し処理することができるわけです。参照を使うと、シームレスに関連するモデルを扱えることがわかりますね。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Message</title> </head> <body> <h1>Message Page</h1> <form method="post" action="/message"> <table> <tr> <th>名前:</th> <td>{{member.name}}({{member.user.nickname}})</td> </tr> <tr> <th>メッセージ:</th> <td><textarea name="message"></textarea></td> </tr> <tr><th></th> <td><input type="submit" value="送信" /></td></tr> </table> </form> <hr /> <table border="1" width="500px"> <tr> <th width="50px">ID</th> <th width="300px">メッセージ</th> <th width="150px">メンバー</th> </tr> {% for data in datas %} <tr> <td>{{data.key.id}}</td> <td>{{data.message}}<br /> ({{data.time}})</td> <td>{{data.member.name}}</td> </tr> {% endfor %} </table> </body> </html>
※関連コンテンツ
「PythonによるGoogle App Engine(GAE)プログラミング入門」に戻る