Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/10/2012, 11:09
Avatar de jhg
jhg
 
Fecha de Ingreso: marzo-2012
Mensajes: 96
Antigüedad: 12 años, 1 mes
Puntos: 1
Modificacion de funcion a ejecutar para una url

Hola, estoy pensando en hacer que en el proyecto que estoy haciendo con Django poder cambiar que se mostrara como inicio del web (cuando se pone solo el host, una url / sin nada mas despues del dominio) de forma dinamica, ya que ahora mismo teng un middleware que me permite servir varios dominios ya que cambia el site_id del settings de forma dinamica segun el host por el que se hace la peticion, de modo que cada dominio pueda elegir si quiere al inicio un blog (los tengo ya a medio desarrollo, bastante avanzado), la vista propia del proyecto para esa url, u otra aplicacion, etc.

Hasta donde se, con un middleware puedo obtener, en el momento que se recivb la peticion y antes de devolver la respuesta, una variable con la funcion (vista) a utilizar, parametros, etc. Si llamo a la funcion y retorno el resultado tengo entendido que no se siguen ejecutando los midlewares que procesan lo de la funcion de la vista etc (pero si los anteriores a estos de las vistas y los siguientes de la respuesta, etc).

Si mi middleware es el ultimo se supone que ejecuto la funcion y no hay problema de que otros se queden sin ejecutarse, aun asi estoy barajando posibilidades como intenar la variable que recivo con la funcion igualarla a otra funcion, la duda es si este cambio seria solo local al metodo de mi middleware o se mantendria cuando sigan otros middlewares procesando esta etapa, ¿sabes como seria, o como modificar la funcion de la vista a ejecutar?

Si tienen otras ideas comenten, son bien recibidas. En elpeor de los casos pondria elmiddleware el ultimo siempre y ejecuto la vista que considere oportuna segun el site_id.

Tambien me preocupa si, como estas funciones no aparecen en las urls sino que son dinamicas gracias al middleware, despues podrian formar las plantillas correctamente las urls o como podria solucionar este tema.
__________________
JHG