Google App Engine用フレームワーク「Kay」でフォームのチェックボックスで複数選択

Google App Engine用フレームワーク「Kay」でフォームの複数選択をチェックボックスで行う方法。

Kay ドキュメント」の「18. kay.utils.forms モジュール リファレンス」に、MultiChoiceFieldをユーザに複数の選択肢を用意するフィールドとして説明されています。

このMultiChoiceFieldを使ってみます。

from kay.utils import forms
class MyForm(forms.Form):
    foo = forms.MultiChoiceField(choices=[u'Python', u'Perl', u'PHP'])

そうすると、選択フィールドにselectタグを使った

<select multiple id="f_foo" name="foo">~

というコードを出力します。

確かに複数選択できます。
ですが、複数の項目を選択するときはCtrlキーを押しながらクリックする必要があり、ちょっと使いにくい。

そこで、コントロールをチェックボックスにします。

MultiChoiceFieldのキーワード引数widgetにforms.CheckboxGroupを指定します。

from kay.utils import forms
class MyForm(forms.Form):
    bar = forms.MultiChoiceField(choices=[u'Python', u'Perl', u'PHP'],
                                 widget=forms.CheckboxGroup)

こうすると、次のように出力します。

初期値の「select multiple」よりも使いやすくなったと思いますが、いかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です