チュートリアル その4 続き

今までに作ったものを汎用ビュー(generic view)に置き換える。色々と困る

  1. 汎用ビューはコンテキストに object や object_list という変数を提供するようになっているので,コンテキスト変数に合わせてテンプレートを変更する必要があります.テンプレートを編集して, latest_poll_list を object_list に, poll を object に変更しておいてください.
    どのファイルのものを変更すればいいのか分からずとりあえず全部。エラーを吐き出しまくりつつトライ&エラーでとりあえず落ち着く
  2. index(), detail() および results() ビューのコードを polls/views.py から削除できるようになりました.これらのビュー関数は汎用ビューで置き換わったので,もう必要ありません.
    言う通りに削除したところ、投票ボタンを押した後、投票結果が表示されるべきところでエラー
  3. views.py 22行目
    return HttpResponseRedirect(reverse('mysite.polls.views.results', args=(p.id,)))
    が原因ではなかろうかと推測(mysite.polls.views.results を削除したところだから)
  4. 頭を抱えつつチュートリアルの文書を一通り読み返す
  5. results() の return render_to_response('polls/results.html', {'poll': p}) に換えてみる
  6. リロード → 投票結果表示サレタヨ
  7. だがしかし正しいような気がしない(urls.py の
    (r'^(?P\d+)/results/$',
    'django.views.generic.list_detail.object_detail',
    dict(info_dict, template_name='polls/results.html')),
    'polls/results.html' 部分が被っているのが気持ち悪い)
  8. だがしかし判断できる知識を持ち合わせない
  9. F1 も終わったのでまた今度(マクラーレン強過ぎ)