Скрытие URL Админки

Django

splinter

Django 4.

Middleware для скрытия admin/ от not is_superuser пользователей.

from django.http import Http404


class AdminPagesMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        if request.path.startswith('/admin') and not request.user.is_superuser:
            raise Http404()
        return self.get_response(request)

И нужно зарегистрировать в MIDDLEWARE.

MIDDLEWARE = [
    ...
    'project.middleware.auth_middleware.AdminPagesMiddleware',
    ...
]