[pyar] Puedo usar decoradores para esto?
Jesús Francisco
jgomo3 en gmail.com
Jue Jun 10 18:13:08 ART 2010
El día 10 de junio de 2010 16:55, Hystrix <ego en hystrix.com.ar> escribió:
> Buenas gente, que tal?
>
> Estoy haciendo un app en Django y mirando las vistas que estaba por
> escribir me di cuenta que estoy repitiendo una estructura para todas.
> Sin saber mucho del tema me pregunto, podre usar un decorador para
> eliminar la repeticion?
>
> Las vistas comparten esta estructura basica:
>
> def vista_a(request, id):
> data = {'area': 'i'}
> data['obj'] = get_object_or_404(modelo, pk=id)
> #cosas propias de la vista
> #usa cosas de data y agrega cosas a data
> #tambien usa cosas de request
> #aca se define el template
> return render_to_response(template, data)
>
Abstrayendome de Django... intuitivamente haría algo como:
def data_decorator(vista):
def f(request, id):
data = {'area': 'i'}
data['obj'] = get_object_or_404(modelo, pk=id)
template = vista(request, data)
return render_to_response(template, data)
@def data_decorator(vista):
def vista_a(request, data):
#cosas propias de la vista
#usa cosas de data y agrega cosas a data
#tambien usa cosas de request
#aca se define el template
return template
>
> Mi idea inicial era hacer un decorador que se ocupe de crear "data" y
> despues devolver la respuesta http con render_to_response.
> Pero no se como hacer para pasar los datos entre el decorador y la
> funcion decorada.
>
> Tampoco quiero meterme en demasiadas complicaciones porque no se
> justifica en este caso pero tal vez hay una forma simple y elegante de
> evitar la repeticion en todas las vistas. Hay?
>
> --
> Hystrix
> _______________________________________________
> 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/
>
More information about the pyar
mailing list