Google App Engine用フレームワーク「Kay」でフォームのチェックボックスで複数選択
「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」よりも使いやすくなったと思いますが、いかがでしょうか。