[pyar] [django] formulario en flash que sube archivo

manuel quiñones manuel.por.aca en gmail.com
Vie Sep 3 13:22:51 ART 2010


hola! pregunta corta:

puede ser que en django no funcione sessions si hago los requests via flash?


pregunta larga, estoy intentando hacer lo siguiente en django:

* un formulario con campos nombre, email, y archivo a subir.
* que la vista loguee al usuario y suba el archivo, asignándoselo a él.

¿mi problema?  lo tengo que hacer en flash :S .  sí, ni me pregunten
porqué.  es así: tengo un flash embebido en un template django, el
único del sitio, y vistas que manejan consultas que se hacen desde
flash, al apretar botones por ejemplo.

hasta ahora no he logrado hacer un POST via flash que haga lo que
quiero, todo junto.  pero por separado, casi.  ya me explico.  las
opciones que encontré para vincular flash con django son:

1. XML.load(url)
2. LoadVars.sendAndLoad(url, objeto, 'POST')
3. FileReference.upload(url)

con la primera puedo leer desde flash un xml devuelto por una vista
django.  no me sirve para este formulario que necesito ahora, pero la
comento porque la uso en otras partes del sitio.

con la segunda puedo enviar variables desde flash a una vista django
mediante POST, y enviar variables desde la vista mediante el response
a flash.  con esto pude hacer la parte del formulario que pide nombre
e email, pasa errores de validación y todo, pero no sirve para subir
archivos.

con la tercera, sólo puedo subir un archivo.  maneja el progreso desde
flash con barrita de progreso y todo, pero sube el archivo y nada más.

entonces, hasta ahora pude hacer las cosas por separado: el logueo en
una vista, [1] y la subida del archivo en otra [2].  desde flash se
llama a esas dos vistas consecutivamente, cuando la del logueo
responde con éxito, se llama la de la subida.

lo que estoy intentando en este momento es usar django sessions para
dejar los datos del usuario logueado en la primera vista, y leerlos
desde la segunda para asignarle el archivo subido.  pero no hay caso,
el objeto sessions de la segunda vista no tiene las variables
asignadas en la primera.  aclaro que hice pruebas con html y ajax para
hacer lo mismo, y este pasaje de variables anduvo como corresponde.

alguien tuvo un caso parecido? se les ocurre alguna solución?
disculpen la extensión del mail! saludos!

[1] http://bitbucket.org/manuq/sitio_italnova/src/tip/clientes/views/contacto.py#cl-28

[2] http://bitbucket.org/manuq/sitio_italnova/src/tip/clientes/views/plano.py#cl-16


-- 
.. manuq ..



More information about the pyar mailing list