WSGIアプリを書くときに色々楽できるようになるライブラリ。他のフレームワークにすでに組み込まれていることもあるが、WebObだけ単独で使ってもよい。python付属のcgiライブラリやcookieライブラリを使いやすくしてくれるラッパーに過ぎないが、つまらないミスを防いでシンプルに書けるようになるのがいい。これは標準配布になってもいいと思うなあ。
Requestオブジェクトを使うと、パラメータやcookieの入力がまとめてここから扱える。
準備は、WSGIアプリが受け取る辞書オブジェクト(仮引数はenvironが多い)を突っ込んでRequestを生成するのみ。
req = webob.Requset(environ)
あとは、req.paramsにGETやPOST経由で届いたパラメータが辞書になって入っていたり、req.cookiesにCOOKIEの値が同じく辞書になって入っていたりするので、単に参照すればよい。
Responseオブジェクトは、WSGIアプリとして生成される。使い方は、
def some_app(environ, start_response):
...
res = webob.Response()
res.body = '<html><body>hello</body></html>'
return res(environ, start_response)
といった感じ。MIMEメッセージ設定(初期値はtext/html)やCOOKIEの設定も、resインスタンスのメソッドとしてひととおり準備されている。
HTTPでのリダイレクトは、
res = webob.exc.HTTPSeeOther(location="dokosoko.html")
return res(environ, start_response)
みたいに行う。

0 コメント:
コメントを投稿