携帯からのフォーム送信で、Django のフォームの validation でハマった話 [Python]
フォームに checkbox が含まれてて、value を指定してないと、PCからだと 値 "on" が送信されてくる。
ところが、僕の手元の au 携帯からフォーム送信すると "0" と送信されてくる。
そして、Django の Form で BooleanField が指定されてて、validation すると、ここ↓
http://code.djangoproject.com/browser/django/trunk/django/forms/fields.py#L585
で、"0" が False に評価されてしまう。
結果、form の is_valid() なんか呼ぶと、チェックボックスがチェックされててもされてなくても False に評価される。
忘れないうちにメモっておく
ところが、僕の手元の au 携帯からフォーム送信すると "0" と送信されてくる。
そして、Django の Form で BooleanField が指定されてて、validation すると、ここ↓
http://code.djangoproject.com/browser/django/trunk/django/forms/fields.py#L585
で、"0" が False に評価されてしまう。
結果、form の is_valid() なんか呼ぶと、チェックボックスがチェックされててもされてなくても False に評価される。
忘れないうちにメモっておく
コメント 0