[pyar] [django] formulario en flash que sube archivo
Boris
camboris en gmail.com
Vie Sep 3 13:55:33 ART 2010
Manuel,
Con Flash vas a tener que hacer las cosas por separado. Yo trabajo
mucho con Flash y poco con con Python ( lamentablemente ).
El proceso suele ser asi:
Mandas los datos por loadvars o amf, recibis un id o identificador de
algun tipo, y entonces subis el archivo, por post, pasando el
identificador junto al archivo. No se cual version de ActionScript
usas, pero se deberia poder en los dos.
Otra opcion es usar pyamf [0], que tiene integracion con django.
Usando amf, ( el protocolo binario de flas ) vas a poder pasar objetos
nativos y complejos, sin serializacion de por medio ( la hace flash ).
Yo trabajo casi todo con amf como protocolo, pero contra backends de
.net ( si, asi de feo, por suerte no hago yo el .net )
Eso si, el archivo lo vas a tener que seguir mandando por separado.
Si queres contactarme por privado, te puedo ayudar con la parte flash,
pero poco con python. Todavia no pude usar pyamf en ningun proyecto.
Saludos
Mario Pozzo
[0] http://pyamf.org/
2010/9/3 manuel quiñones <manuel.por.aca en gmail.com>:
> 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 ..
> _______________________________________________
> 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