urlmiddleware es una aplicación Django que le permite definir middleware en su proyecto Django basado en configuraciones de URL en lugar de añadir middleware globalmente para cada petición.
¿Por qué?
Adición de middleware a nivel mundial no es siempre una buena cosa. Sólo se puede desear que entre en vigor en ciertas áreas en su sitio web. Aplicaciones de terceros también pueden incluir entonces sus definiciones de middleware en el archivo url.py y eliminar la necesidad de modificar la configuración global.
Inicio Rápido
Instale urlmiddleware:
PIP instalar urlmiddleware
No hay necesidad de añadir a tus aplicaciones instaladas, sin embargo, usted tendrá que registrar una clase mundial middleware que se controlará el middleware basado url:
MIDDLEWARE_CLASSES = (
& Nbsp; # ...
& Nbsp; # añadir urlmiddleware después de todo otro middleware.
& Nbsp; "urlmiddleware.URLMiddleware ',
)
Empezar a añadir middleware para su proyecto en sus archivos url.py siguientes definiciones url normales:
middlewarepatterns = patterns ('',
& Nbsp; url (r '^ miaplicacion /', MyMiddleWareClass),
)
Un ejemplo común es usar esta técnica para agregar entrada requerida para subsecciones enteras de su árbol url. Lo primero que necesita para crear un LoginRequiredMiddleware:
desde django.conf ajustes de importación
desde django.contrib.auth.views entrada de importaciones
desde django.http importación HttpResponseRedirect
clase LoginRequiredMiddleware (objeto):
& Nbsp; def process_request (self, petición):
& Nbsp; login_path = settings.LOGIN_URL
& Nbsp; si Request.Path = login_path y request.user.is_anonymous ():
& Nbsp; si request.POST:
& Nbsp; de retorno de ingreso (bajo petición)
& Nbsp; otra cosa:
& Nbsp; volver HttpResponseRedirect ('% s next =% s?'% (Login_path, Request.Path))
Luego, en su archivo urls.py:
desde LoginRequiredMiddleware importación myapp.middleware
middlewarepatterns = patterns ('',
& Nbsp; url (r '^ cuentas /', LoginRequiredMiddleware),
)
! Hecho
Requisitos
- Python
- Django
Comentarios que no se encuentran