2009-07-22 12 views
6

私は最初のDjangoアプリケーションをデプロイする準備が整っており、少しのロードブロッキングが発生しています。私の基本テンプレートはセッションオブジェクトを渡しているので、現在ログインしているユーザーの名前を読み取ることができます。これは、テンプレートを呼び出すコードを制御するときには問題ありません。カスタムDjango 404ページのコードを実行

ただし、このアプリケーションを展開する準備の一環として、404.htmlページを作成する必要があります。他のページで行ったのと同じようにベーステンプレートを拡張しましたが、セッションオブジェクトを渡すための方法がないので、私はそれを利用できます。 Djangoに404.htmlをレンダリングするのではなく、404をレンダリングするカスタムメソッドを呼び出す方法がありますか?

答えて

11

404エラーのデフォルトのビューハンドラをオーバーライドする必要があります。

http://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views

+7

他の人のためのメモ:あなたのアプリケーションではなく、プロジェクトのルートにあるurls.pyに 'handler404'を定義する必要があります。 –

+2

これは 'settings.ROOT_URLCONF'が指し示すファイルでなければなりません(通常はプロジェクトのルートにありますが、必ずしもそうである必要はありません...) – thebjorn

+0

このチュートリアルは理解できないので私。 handler404行はurls.py urlpatternsリストに入っていますか?それの構文はどういう意味ですか? – AlanSE

3

独自の404ハンドラを定義します。ここでは、独自のカスタム404ビュー機能を作成する方法についてのドキュメントがあります。 Django URLs、特に約handler404の部分を参照してください。

関連する問題