Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Como sustituyo las vistas basadas en funciones ?

Estas en el tema de Como sustituyo las vistas basadas en funciones ? en el foro de Python en Foros del Web. Hola tengo un inconveniente , estoy desarrollando una aplicación y en ella estoy usando vistas basadas en funciones, quiero implementar Vistas basadas en clases el ...
  #1 (permalink)  
Antiguo 13/05/2014, 09:58
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta Como sustituyo las vistas basadas en funciones ?

Hola tengo un inconveniente , estoy desarrollando una aplicación y en ella estoy usando vistas basadas en funciones, quiero implementar Vistas basadas en clases
el problema se presenta cuando quiero que en un mismo formulario se muestre tanto el formulario como la lista, he intentado varias cosas pero no doy como hacerlo

Esto es lo que actualmente estoy haciendo:

def listaProductos(request):
productos = Producto.objects.all().order_by('nombreProducto')
#Creacion de producto en cada bodega con valor inicial


if request.method == 'POST':
formulario = ProductoForm(request.POST)
if formulario.is_valid():
formulario.save()
producto = Producto.objects.get(nombreProducto = request.POST.get('nombreProducto'))

return HttpResponseRedirect('/listaProd')
else:
formulario =ProductoForm()

return render_to_response('Inventario/GestionProducto.html',{'formulario':formulario,'pr oductos':productos },
context_instance = RequestContext(request))

y quiero pasarlo a Clases no en Funciones
  #2 (permalink)  
Antiguo 16/05/2014, 06:05
 
Fecha de Ingreso: mayo-2014
Mensajes: 7
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: Como sustituyo las vistas basadas en funciones ?

Hola, entiendo la pregunta, sin embargo el código que adjuntas es una vista tradicional devolviendo la función render_to_response y hablas que el problema lo tienes en las vistas basadas en clases y yo ahí no veo ninguna vista basada en clases :(

https://docs.djangoproject.com/en/dev/topics/class-based-views/intro/

En todo caso las CBV son para lo que son: para mostrar una lista, una instancia de modelo o un formulario, todo lo que quieras hacer de más vas a tener implementarlo por tu cuenta. En la documentación oficial te enseñan una forma de hacerlo heredando en la view un mixin especial y la listview, pero ellos mismos avisan

# CAUTION: you almost certainly do not want to do this.
# It is provided as part of a discussion of problems you can
# run into when combining different generic class-based view
# functionality that is not designed to be used together.

Lo tienes explicado aqui: https://docs.djangoproject.com/en/dev/topics/class-based-views/mixins/#using-formmixin-with-detailview

La verdad, yo lo haría de la forma tradicional y no me complicaría la vida, la clave para aprender a usar un Framework es saber como funciona y no tener que perder el rato reinventando funcionalidades :D. Te lo digo porque llevo 3 años usando Django y me he encontrado en esa situación muchas veces xD
  #3 (permalink)  
Antiguo 16/05/2014, 09:37
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Como sustituyo las vistas basadas en funciones ?

Muchas gracias por tu respuesta, es muy clara ademas es cierto lo que dices para que complicarse la vida si la forma tradicional funciona bien!!!

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:59.