from django.shortcuts import redirect from django.urls import reverse from django.http import HttpRequest class RedirectNonSuperuserFromAdminMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request: HttpRequest): # Se l'utente è loggato, non è superuser e prova ad andare in /admin/... if hasattr(request,"user"): if ( request.path.startswith("/admin/") and hasattr(request.user, 'student') ): return redirect("/user/") # redirect automatico return self.get_response(request)