したがって、現在、DetailViewサブクラスがPK(URLから取得)を使用してオブジェクトを見つけられない場合、404.htmlテンプレートページが表示されます。私がやりたいのは、別のURLにリダイレクトすることです。これが私のURLパターンです:
url(r'^(?P<pk>[0-9]+)/$', DeviceDetailView.as_view(
template_name='devices/detail.html',
queryset=Device.objects.all(),
context_object_name="device",
)),
url(r'^$', FullListView.as_view(template_name='devices/devices.html',)),
したがって、私のURLが/ devices / 8 /のように見える場合、主キーとして8を使用します。データベースに8が存在する場合にうまく機能します。ただし、8が存在しない場合は、404ページに移動します。私がやりたいのは、リストに移動することです。実際、FullListViewは、最後のURLのときにリストされます(これは、URLが/ devices /nonnumericstuff/のようになっている場合に発生します。
そのように思えるのはかなり簡単なはずですよね?すべての404をそこに移動させたくないので、handler404を使用できません。