teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/02/26 05:41

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -37,4 +37,20 @@
37
37
  def index(request):
38
38
  raise RuntimeError('本当にindexが呼ばれてる')
39
39
  ```
40
- とかしてエラーが**出ること**を確認しましょう。
40
+ とかしてエラーが**出ること**を確認しましょう。
41
+
42
+
43
+ ----
44
+
45
+ `TemplateView`は
46
+
47
+ ```
48
+ def index(request):
49
+ return render(request, 'some_app/index.html')
50
+ ```
51
+ のような中身がない**お決まりの**ビュー関数を書いて
52
+ ```
53
+ path('', some_app.index, name='index'),
54
+ ```
55
+ と書かずに済むためのものなので、(本当はもっと機能があるのでしょうけれどそれはおいておいて)
56
+ `TemplateView.as_view`で呼び出すように書いたら`index`が呼ばれることはないですね。呼び出さない設定を書いているわけですから。

1

追記

2020/02/26 05:41

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -16,4 +16,25 @@
16
16
 
17
17
  ですね。
18
18
 
19
- エラーになってないなら、`project/templates/index.html` が**存在してしまっている**のかな、と思いました。
19
+ エラーになってないなら、`project/templates/index.html` が**存在してしまっている**のかな、と思いました。
20
+
21
+ ----
22
+
23
+ まずテンプレートの探索が正しいかを確認したいですね。
24
+ ```
25
+ {% for list in lists %}
26
+ <input type="checkbox" name="email" value="{{email}}" /> {{list}}<br />
27
+ {% endfor %}
28
+ ```
29
+ の上、テンプレートのできるだけ冒頭に、何か文字を入れて表示されるかどうかを確認しましょう。
30
+
31
+ それが表示されるようならテンプレートの別の部分の問題でしょう(このforループが実行されてない、というような)。
32
+
33
+
34
+ 表示されないようなら、
35
+ 次は`def index(request):`が本当に呼ばれているかを確認したいです。
36
+ ```
37
+ def index(request):
38
+ raise RuntimeError('本当にindexが呼ばれてる')
39
+ ```
40
+ とかしてエラーが**出ること**を確認しましょう。