Djangoでwebサイトを作成しています。
ユーザー登録画面で、居住県を47都道府県の中から選択してもらいます。
現状、変数prefectureには47都道府県名が入っており、下記のテンプレート上で、forループでレンダリングして表示させるようにしています。
html
1<select id="prefecture" name="prefecture"> 2 {% for pref in prefecture %} 3 <option>{{pref}}</option> 4 {% endfor %} 5</select>
ここまではうまくいきます。
しかし、いったん登録してもらったユーザーが情報を修正する際には、もともと登録していたデータが反映されたフォームを表示したいと考えています。
inputで入力するデータについては、もともと入力したデータをvalueで受け渡せば良い(例:<input id="name" name="name" value="{{user.name}}">)のですが、selectで入力したデータの場合、どのようにしたらよいでしょうか。
例えば、東京都居住のユーザーの場合、
私が考えた方法は、views.pyにおいて、
当該ユーザーに応じて、例えば、既に東京都で登録済みの場合は、
上記のように、「<option>○○</option>」の中の1つを「<option selected>○○</option>」とする処理は、よくあるのではないかと思うのですが、そのような場合のベストプラクティスのようなものはないのでしょうか。
お分かりの方、ご教示頂ければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/04/29 23:56
退会済みユーザー
2016/04/30 07:12