Sommaire

Présentation

Le middleware Django n’a pas grand-chose à voir avec ce que l’on entend classiquement par middleware en informatique. Le middleware Django est un mécanisme, permettant d’intercepter les requêtes et les réponses HTTP, à chaque étape de leur traitement. C’est un système simple et léger de « plug-ins », plug-ins par lesquels les requêtes et les réponses vont transiter, pour être éventuellement altérées. Chaque plug-in du middleware appelé plus simplement middleware est une classe Python implémentant des méthodes spécifiques, ces méthodes étant appelées à diverses étapes du processus de traitement de la requête et de l’élaboration de la réponse.

Chaque middleware réalise une tâche spécifique. Par exemple le middleware SessionMiddleware, gère la session utilisateur sans que l’on ait à s’en soucier dans l’écriture des vues.

Les middlewares peuvent dépendre les uns des autres, et en cela l’ordre dans lequel ils sont exécutés est important.

Nous allons voir comment cela fonctionne, comment activer ou désactiver un middleware, et comment écrire un middleware spécifique à votre projet.