Understanding Django Middleware: A Practical Guide