お知らせ: にーやんのブログ 2 に移転しました。こちらのブログは、2009 年末までに削除します。

スポンサード リンク

Google App Engine SDK: 検索フォームを作ってみる

少し戻って Handling Forms With webapp - Google App Engine - Google Code を読みながら、簡単な検索フォームを作ってみる。

基本的には、ほぼ Handling Forms With webapp - Google App Engine - Google Code のまま。ただし、すでにテンプレートの使用を勉強済みだったので、検索結果の表示には別にテンプレートを用意した。

1. result.html の作成

検索結果表示用のテンプレートを作成。result.html とする。

2. cgi モジュールのインポート

import cgi

文字列のエスケープに使用。

3. 検索用のクラスを作成

class Search(webapp.RequestHandler):
    def post(self):
        # クエリを取得してエスケープ
        query = cgi.escape(self.request.get('q'))
        # テンプレートに渡す値を更新
        template_values.update({
            'query': query
        })
        # パスの結合
        path = os.path.join(os.path.dirname(__file__), 'result.html')
        # テンプレートを元に画面に書き出す
        self.response.out.write(template.render(path, template_values))

4. Search ハンドラの URL マッピングを追加

webapp.WSGIApplication に Search ハンドラの URL マッピングを追加:

def main():
    application = webapp.WSGIApplication(
                                        [('/', MainPage),
                                        ('/search', Search)],
                                        debug=True)
    wsgiref.handlers.CGIHandler().run(application)

5. 実行

テスト

とりあえず、検索フォームに入力した文字列を取り出して表示するところまで。

関連記事

スポンサード リンク

Recent entries from same category
TrackBack ping me at
Trackbacks
[ No TrackBack ]
Comments
[ No Comment ]
Post a comment

writeback message: Ready to post a comment.













Remember the above info?

Preview here...

  • [Preview]ボタンをクリックすると、コメント内容をプレビューすることができます(JavaScript使用)。
  • スパム対策としてリファラチェックを行っています。セキュリティソフトの設定でリファラを無効にしていると投稿できません。
  • エントリの内容と無関係と思われるコメントやトラックバックは削除されます。
  • 当ブログへの言及リンクがないトラックバックはブロックされます。