[pyar] [django] parametro en decorador
Mariano Mara
mariano.mara en gmail.com
Mie Sep 24 17:38:03 ART 2014
El 24 de septiembre de 2014, 17:25, Claudio Freire <klaussfreire en gmail.com>
escribió:
> 2014-09-24 17:12 GMT-03:00 Daniel <dmlistapython en gmail.com>:
> >
> >
> > def sesion_inciada(funcion, redirecion="/"):
> > def comprobar_sesion(*args, **kwargs):
> > #aca necesito el request (1)
>
>
> Un decorador parametrizado sería:
>
> def sesion_iniciada(redirecion="/"):
> def decor(funcion):
> @functools.wraps(funcion)
> def comprobar_sesion(*args, **kwargs):
> #aca necesito el request (1)
> return funcion(*args, **kwargs)
> return comprobar_sesion
> return decor
>
>
> Para usar
>
> @sesion_iniciada("/login")
> def blabla(request):
> blabla
>
>
> Para usar el request, lo más legible sería:
>
> def sesion_iniciada(redirecion="/"):
> def decor(funcion):
> @functools.wraps(funcion)
> def comprobar_sesion(request, *args, **kwargs):
> # blabla request blabla
> return funcion(request, *args, **kwargs)
> return comprobar_sesion
> return decor
Aprovecho el thread para recomendar el puntilloso paquete wrapt[1] de
Graham Dumpleton.
[1] http://wrapt.readthedocs.org/en/latest/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140924/38cc14a9/attachment.html>
More information about the pyar
mailing list