django form 初期値設定(親切なプルダウンメニュー)

djangoのmodelsと連動した、親切なプルダウンメニューをformで作成してみます。親切な、とはプルダウンメニューの初期値が空白設定されていることを言います。これをformで作成します。

コンテンツ

htmlで作成

まずはプルダウンメニューをhtmlで作成します。

こんな感じで作成できます。

冒頭に「親切なプルダウンメニュー」と書きましたが、

✔︎選択してください

これが実際にdjango/formで使いたい「親切な」を意図したポイントになります。仮にも、「選択してください」のオプションがなければ、初期値が「北海道」や「青森県」でセットされ、ユーザー側としては選択されているのでそのままスルーして、北海道の設定のまま進むことも考えられますよね?


models

まずはmodelsでデータ作成します。想定としてはwebサービス内部で、問い合わせが届いてその問い合せに対して、「誰が何を対応したかとコメントする」ということを想定したmodelsになります。

models.py


forms

formsではmodelsで定義された要件を利用しながら、冒頭の親切なプルダウンメニューを仕上げて行きます。

forms.py

htmlも載せます。

そうして作成できたのがこちらです。

肝としては、formの

PERSON_IN_CHARGE_CHOICES定数の第一引数に

を書きました。

こうすることで、選択時の初期値が空白になり、親切になれるということです。

こうしておけば、仮に勝手に初期値が設定されたままスルーして登録されるということがなくなりますね。

コメントを残す

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