ToscaWidget 続き

さて前回は値をFormWidgetに設定して表示させた。
後は受け取る側の処理だ。
素の状態のWSGIアプリケーションで取得できるのは、GETのクエリ文字列やPOSTのコンテンツボディだけ。
dictになって渡ってくるわけではない。
これは、入力内容が必ずしもurlencodeなわけではないし、WSGIはHTTPの受け取り口でしかないから、そこまで面倒を見てくれないということだ。
というわけで、この辺の仕事はPasteに任せましょう。
WSGIRequestは生成時にenvironを受け取って、通常Webアプリケーションに見られるようなパラメータ取得のインターフェイスを提供してくれる。

        req = WSGIRequest(environ)
        try:
            form.validate(req.params)

ついでのように書いたが、WSGIRequestのparamsプロパティが入力内容のmultidict.
通常のdictインターフェイスに加えて、キーに対して値が複数の場合にも対応している。
また、formはToscaWidgetのTableFormのインスタンス
入力チェックはformに設定したFormEncodeで行われる。
ファイルアップロードにも対応してるかは、未確認。