同じ問題を抱えている人のために:私にとって最も適した解決策は、一般的な403エラーページを表示するミドルウェアを作成することであることがわかりました。
from django.http import HttpResponseForbidden
from django.conf import settings
from django.template import RequestContext
from django.shortcuts import render_to_response
class PermissionErrorMiddleware(object):
def process_response(self, request, response):
if isinstance(response, HttpResponseForbidden):
return render_to_response('403.html', context_instance=RequestContext(request))
return response
エラーページの原因として最も可能性が高いのは、Cookieが無効になっていることであることがユーザーに通知されます。これは、アプリケーションが403エラーをスローしないためです。私は常に「隠すことによるセキュリティ」アプローチを好み、ユーザーが特定のページにアクセスしてはならないときに404エラーをスローします。