Не уверен, какую версию Django вы используете, но в Django 1.4 и выше вы можете использовать:
from django.contrib.auth.decorators import permission_required
@permission_required('app.permission',raise_exception=True)
def myView(request):
#your view code
Это вызовет исключение 403, и если у вас есть страница 403.html в базеиз вашей папки шаблонов это будет сервер.
Если вы используете представления на основе классов:
from django.views.generic.base import View
from django.contrib.auth.decorators import permission_required
from django.utils.decorators import method_decorator
class MyView(View):
@method_decorator(permission_required('app.permission',raise_exception=True)
def get(self, request):
#your GET view
Надеюсь, это поможет.