Djangoでプルダウンなどを作成するときにChoiceFieldが使えるのですが、 POSTされてきた値の取得方法がやや特殊?だったのでメモです。
ちなみにChoiceFieldは正確には以下。
django.forms.fields.ChoiceField
サンプルフォーム作成
以下をサンプルとして定義します。 だいたい、みなさんアプリケーション内のforms.pyとかに書いてるはず。。
- forms.py
テンプレートに表示
一応プルダウンをテンプレートに表示する部分も記載。
- views.py + 表示するhtml
データを受け取る
views.pyに追記しています。
- views.py
form = SampleChoiceForm(request.POST)でフォームのインスタンスを作った後に form.cleaned_data['SampleChoiceFormのプロパティ名']で取得する