zowのプログラムな日々

日々のプログラミングとか

謎動作

flaskをひたすら触っている訳だけども、謎動作をしてくれるので困ってる。

formでpostをするとBadRequestとか吐く。受け取り側のPythonスクリプトでformが送信していない項目(空フィールド)を参照しようとするとなるみたい。どうも存在しないキーを参照している事になっているっぽいんだけど、普通、空フィールドでもキーはフォームで送信されるよね?? しかもテキストフィールドは空でも空文字列は送ってくるみたいなんだけど、チェックボックスだと送ってくれないっぽい。PHP慣れしているから俺がおかしくて、この動作が普通だったりするのか?

どうもflaskの仕様みたいなんだけど、なんでなんだろ。謎過ぎる・・・。

※追記

flaskでpostの場合、以下の形で取得する。

url = request.form['url']

テキストなんかはこれで取れる。が、チェックボックスだとエラーになる。

チェックボックスの場合は

mobile_flg = request.form.get('mobile_flg')

みたいに「get」メソッドを使わなきゃならないらしい。

ちなみに、チェックが入っていない状態だと「None」が入っている。

なんでこんな謎仕様なんだろ?