回答編集履歴
4
紐付ける
test
CHANGED
@@ -10,9 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
###ビュー上の展開元をrenderメソッドに合わせる
|
14
|
-
|
15
|
-
テンプレート上のrenderメソッドを紐付けて、ビュー上のfor構文の中で展開元はoptions.townsなのでそれに合わせます。
|
13
|
+
テンプレート上のrenderメソッドを紐付けて、ビュー上のfor構文の中で展開元はoptions.townsなのでそれに合わせようにします。
|
16
14
|
|
17
15
|
|
18
16
|
|
3
テンプレートも変更が必要なようです
test
CHANGED
@@ -12,9 +12,15 @@
|
|
12
12
|
|
13
13
|
###ビュー上の展開元をrenderメソッドに合わせる
|
14
14
|
|
15
|
-
テンプレート
|
15
|
+
テンプレート上のrenderメソッドを紐付けて、ビュー上のfor構文の中で展開元はoptions.townsなのでそれに合わせます。
|
16
16
|
|
17
17
|
|
18
|
+
|
19
|
+
```py
|
20
|
+
|
21
|
+
return render(request, template_name, {'options':options})
|
22
|
+
|
23
|
+
```
|
18
24
|
|
19
25
|
|
20
26
|
|
2
方法1の削除
test
CHANGED
@@ -2,47 +2,17 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
オブジェクトoptionsの中に指定したtownsはあくまでoptions.townsという包含関係のプロパティに過ぎませんので、現状だとテンプレートとビューの変数が紐付いてません。renderメソッドの第三引数は変数をビュー上に返す役割を持っているので、それを把握しておきましょう。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
###renderメソッドで返す変数をビュー上の変数名に合わせる
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
```py
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
return render(request, template_name, {'towns':options})
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
```
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
```html
|
26
|
-
|
27
|
-
<select name="select_town">
|
28
|
-
|
29
|
-
<option value="">選択してください</option>
|
30
|
-
|
31
|
-
{% for town in towns %}
|
32
|
-
|
33
|
-
<option>{{town.towns}}</option>
|
34
|
-
|
35
|
-
{% endfor %}
|
36
|
-
|
37
|
-
|
9
|
+
なので以下の方法で対応できるはず。
|
38
|
-
|
39
|
-
```
|
40
10
|
|
41
11
|
|
42
12
|
|
43
13
|
###ビュー上の展開元をrenderメソッドに合わせる
|
44
14
|
|
45
|
-
|
15
|
+
テンプレートはそのままにしておいて、ビュー上のfor構文の中で展開元はoptions.townsなのでそれに合わせます。
|
46
16
|
|
47
17
|
|
48
18
|
|
@@ -63,7 +33,3 @@
|
|
63
33
|
</select>
|
64
34
|
|
65
35
|
```
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
オブジェクトoptionsの中に指定したtownsはあくまでoptions.townsという包含関係のプロパティに過ぎませんので、現状だとテンプレートとビューの変数が紐付いてません。
|
1
補足
test
CHANGED
@@ -2,9 +2,13 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
なので二通りのいずれかの方法で対応できるはず。
|
5
6
|
|
6
7
|
|
8
|
+
|
7
|
-
###
|
9
|
+
###renderメソッドで返す変数をビュー上の変数名に合わせる
|
10
|
+
|
11
|
+
|
8
12
|
|
9
13
|
```py
|
10
14
|
|
@@ -18,9 +22,27 @@
|
|
18
22
|
|
19
23
|
|
20
24
|
|
21
|
-
|
25
|
+
```html
|
22
26
|
|
27
|
+
<select name="select_town">
|
28
|
+
|
29
|
+
<option value="">選択してください</option>
|
30
|
+
|
31
|
+
{% for town in towns %}
|
32
|
+
|
33
|
+
<option>{{town.towns}}</option>
|
34
|
+
|
35
|
+
{% endfor %}
|
36
|
+
|
37
|
+
</select>
|
38
|
+
|
39
|
+
```
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
###ビュー上の展開元をrenderメソッドに合わせる
|
44
|
+
|
23
|
-
あるいはテンプレートはそのままにしておいて、ビュー上のfor構文の中で展開元はoptions.townsなのでそれに合わせ
|
45
|
+
あるいはテンプレートはそのままにしておいて、ビュー上のfor構文の中で展開元はoptions.townsなのでそれに合わせます。
|
24
46
|
|
25
47
|
|
26
48
|
|