Si has leído este libro completamente hasta aquí, ya has visto varios ejemplos de instalación de middleware; muchos de los ejemplos en los capítulos previos han requerido cierto middleware. Para completar, a continuación se muestra la manera de instalar middleware.
Para activar un componente middleware, agregarlo a la tupla
MIDDLEWARE_CLASSES
en tu archivo de configuración. En MIDDLEWARE_CLASSES
,
cada componente middleware se representa con una cadena de texto: la ruta
Python completa al nombre de la clase middleware. Por ejemplo, aquí se
muestra la tupla MIDDLEWARE_CLASSES
por omisión creada por
django-admin.py startproject
:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.doc.XViewMiddleware'
)
Una instalación Django no requiere ningún middleware — la tupla
MIDDLEWARE_CLASSES
puede estar vacía, si tu quieres — pero te recomendamos
que actives CommonMiddleware
, la cual explicaremos en breve.
El orden es importante. En las fases de petición y vista, Django aplica el
middleware en el orden que figura en MIDDLEWARE_CLASSES
, y en las fases de
respuesta y excepción, Django aplica el middleware en el orden inverso. Es
decir, Django trata MIDDLEWARE_CLASSES
como una especie de "wrapper"
alrededor de la función de vista: en la petición recorre hacia abajo la lista
hasta la vista, y en la respuesta la recorre hacia arriba. Mira la sección
"Cómo procesa una petición Django: Detalles completos" en el Capítulo 3
para un repaso de las fases.