[pyar] [django] parametro en decorador

fisa fisadev en gmail.com
Mie Sep 24 17:32:36 ART 2014


Claudio, creo que el no necesita parámetros al decorador, sino solo
acceder el parámetro request que recibe la función. Con args[0]
bastaría (o definir la interna con request explícitamente como primer
parámetro).

El día 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
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar



-- 
fisa  -  Juan Pedro Fisanotti


More information about the pyar mailing list