404/500
作成したカスタムページでカスタム CSS と画像を使用したいと考えています。STATIC_URL
ただし、Django はこれらのページに変数を含めません。
これを達成するための最良の方法は何ですか?また、カスタム404/500
ビューを作成して任意の HTML ファイルをレンダリングしようとしましたが、うまくいきませんでした。
404/500
作成したカスタムページでカスタム CSS と画像を使用したいと考えています。STATIC_URL
ただし、Django はこれらのページに変数を含めません。
これを達成するための最良の方法は何ですか?また、カスタム404/500
ビューを作成して任意の HTML ファイルをレンダリングしようとしましたが、うまくいきませんでした。
これが私がそれを行う方法です:
# urls or settings
handler500 = 'mysite.views.server_error'
# views
from django.shortcuts import render
def server_error(request):
# one of the things ‘render’ does is add ‘STATIC_URL’ to
# the context, making it available from within the template.
response = render(request, '500.html')
response.status_code = 500
return response
Django がデフォルトでこれを行わない理由について言及する価値があります。
「デフォルトの 500 ビューは 500.html テンプレートに変数を渡さず、追加のエラーの可能性を減らすために空のコンテキストでレンダリングされます。」</p>
デフォルトの 404/500 エラー処理をオーバーライドする必要があるだけだと思います。これで始められるはずです:
http://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views