documentationによれば、これはかなりシンプルである必要があります:handler404
を定義するだけです。現在、私は私のトップurls.py
で、やって:djangoでカスタムhandler404を正しく設定する方法は?
urlpatterns = [
...
]
handler404 = 'myapp.views.handle_page_not_found'
アプリケーションがインストールされています。
def handle_page_not_found(request):
return redirect('homepage')
しかし、これは効果がありません:対応するビューは、(時間のために、私はちょうど404の場合にはホームページにリダイレクトしたいされている)だけである標準(デバッグ)
404
ページが表示されます。
ドキュメントは少しあいまいです:handler404
定義されるべき
- ?ドキュメントには
URLconf
が記載されていますが、正確にはどこですか?私はいくつかのアプリケーションを持っていて、それぞれ異なるアプリケーションを持っています。urls.py
私はそれらのいずれかに入れることができますか?トップURLconf
に?どうして?これはどこに文書化されていますか? - このハンドラには何がキャッチされますか?それは
django.http.Http404
、django.http.HttpResponseNotFound
、django.http.HttpResponse
(status=404
)をキャッチしますか?
設定で 'DEBUG'とは何ですか?それが 'True'なら' False'に変更して見られますか? –
@ ShangWang:ありがとう!実際、それを 'False'に設定することで問題は解決されます。これはafaikには書かれていません。 – dangonfast
@delavnog - [エラー報告セクション](https://docs.djangoproject.com/en/1.9/howto/error-reporting/#error-reporting) - 「DEBUGがFalseの場合...」 – Sayse