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定数の第一引数に

を書きました。

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

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

プログラミング学習を効率良く進めるには…

私ヒロヤンがプログラミングを始めた頃は以下のような感じでした。

何から手をつけていいのか、わからない。

プログラミングを始めてみたけど、エラーが解決できない。

そしてネットで調べていくうちに膨大な時間が過ぎていきました。

私ヒロヤンの実体験より、プログラミングを効率的に学ぶために大切なことは以下のことだと考えています。

1. いつまでもダラダラとやらないで、目標を決定して短期集中する

2. マンツーマンで、わからない箇所は直ぐに質問をして即レスをもらう

.proでは私ヒロヤンが学習してきたプログラミング経験0からのpython/django、その他webサイト・サービス開発のコースが用意されています。

カウンセリング自体は無料なので話を聞いてみるだけでもいかがでしょうか?

また以下のリンク先ではdjangoを教えてくれるスクールをまとめ紹介しています。

コメントを残す

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