DjangoのChoiceFieldからPOSTの値を取得する

Python04 December 2020

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のプロパティ名']で取得する

tags: Python