¿Alguien tiene alguna muestra de código simple para Django + SWFUpload? Lo tengo funcionando perfectamente en mi aplicación PHP, pero Django me está dando dolores de cabeza.¿Muestras de código para Django + SWFUpload?
Respuesta
Lamentablemente no puedo darle ejemplos de código muy detallados, pero tengo bastante experiencia trabajando con SWFUpload + Django (para un sitio para compartir fotos en el que trabajo). De todos modos, aquí hay algunos consejos que esperamos le ayuden en su búsqueda de la felicidad :) DjSWF
Usted querrá utilizar el plugin galletas (por supuesto, si usted está usando algún tipo de autenticación basada en sesión [como
django.contrib.auth
, y cuide quién subió qué).El plugin galletas envía los datos de las cookies como el correo, por lo que tendrá que encontrar alguna manera de conseguir esto de nuevo en
request.COOKIES
(process_request
middleware que busca unasettings.SESSION_COOKIE_NAME
enrequest.POST
en URL específicas y vuelca enrequest.COOKIES
funciona muy bien para esto :)Además, recuerde que debe devolver algo en el cuerpo de la respuesta para que SWFUpload lo reconozca como un intento exitoso de carga. Creo que esto ha cambiado en la última versión beta de SWFUpload, pero de todos modos es aconsejable poner algo allí como 'ok'. Para los fracasos, haga uso de algo como
HttpResponseBadRequest
o similar.Por último, en caso de que usted está teniendo problemas para encontrar ellos, el archivo subido es en
request.FILES
:)
Si tienes algo desconcertante que no he cubierto, no dude en enviar algo más detallada y estaré encantado de ayudar.
Esta es una excelente respuesta a una pregunta realmente terrible. El segundo párrafo del punto (1) me ayudó en particular. Gracias. – bouvard
versión de Django de las muestras para SWFUpload:
http://github.com/naltimari/django-swfupload-samples/tree/master
Mientras uploadify. Es una gran idea, pero solo tiene errores, especialmente en Windows.
La siguiente es la implementación específica de Django para solucionar este problema (es decir, mis cargas fallaron en Firefox con un 302 Redirect).
En mi opinión inicial que genera la página con el programa para subir en él, miré a las galletas y encontró sessionid
ipdb> self.request.COOKIES
{'csrftoken': '43535f552b7c94563ada784f4d469acf', 'sessionid': 'rii380947wteuevuus0i5nbvpc6qq7i1'}
Cuando vi lo que estaba siendo publicado en el SWFUploadMiddleware (cuando se utiliza Firefox), Descubrí que el sessionid no se estaba configurando.
En mi vista inicial que genera la página que contiene el controlador de carga, agregué el sessionid al contexto.
context['sessionid'] = self.request.session.session_key
En mi configuración swfuploader, añadí sessionid a la opción post-params de la siguiente manera:
post_params: {... "sessionid": "{{ sessionid }}" ...},
Ahora, cuando miraba en el SWFUploadMiddleware, pude ver la sessionid siendo publicado, y mis cargas comenzaron a funcionar si Firefox.
ipdb> request.POST
<QueryDict: {... u'session_id': [u'rii380947wteuevuus0i5nbvpc6qq7i1'],...}>
Para completar, mi SWFUploadMiddleware se parece a esto ...
from django.conf import settings
from django.core.urlresolvers import reverse
class SWFUploadMiddleware(object):
def process_request(self, request):
if (request.method == 'POST') and (request.path == reverse('upload_handler')) and request.POST.has_key(settings.SESSION_COOKIE_NAME):
request.COOKIES[settings.SESSION_COOKIE_NAME] = request.POST[settings.SESSION_COOKIE_NAME]
# http://stackoverflow.com/questions/6634666/403-forbidden-error-on-swfupload-and-django
# Fix for problem uploading images (403 error) in Firefox 20 and others
if request.POST.has_key('csrftoken'):
request.COOKIES['csrftoken'] = request.POST['csrftoken']
- 1. Licencia para muestras de código MSDN
- 2. Muestras de código para la entrevista
- 3. Fallback de SwfUpload para clientes sin Flash
- 4. Muestras/widgets Monodroid con el código fuente
- 5. SWFUpload en HTTPS no funciona
- 6. Biblioteca/código de reconocimiento de muestras de sonido
- 7. Utilización de Rails con Paperclip y SWFUpload
- 8. subconjunto de muestras para un objeto ExpressionSet
- 9. Muestras de MVVM Light Toolkit
- 10. Muestras con JmDNS
- 11. ¿Cómo mezclar muestras de audio?
- 12. SWFUpload startUpload() falla si no se llama dentro de file_dialog_complete_handler
- 13. ¿Para qué sirven los diferentes tipos de muestras HLSL?
- 14. Compact Framework - ¿Muestras de FTP de OpenNetCf.Net?
- 15. Muestras de detección de objetos en OpenCV
- 16. Muestras/tutorial para el marco DRM en Android
- 17. dónde obtener muestras de archivos ofx para probar?
- 18. Abrir muestras de CV para OpenCV Manager descargar
- 19. ¿Cómo extraer muestras enteras del buffer de cola de audio y volver a escribir muestras modificadas?
- 20. JEE6 Muestras de tutoriales no encontradas
- 21. Muestras para el Diseño Dirigido por Dominio (especialmente .NET enfocado)
- 22. Haciendo un código beta para un sitio público de django
- 23. Ejecutando código para una página personalizada de Django 404
- 24. Buen proyecto django de código abierto para aprender
- 25. Necesita buenos ejemplos/muestras de RDLC (Informes)
- 26. iOS: muestras de MDM Check-in
- 27. ¿Hay bibliotecas o muestras para el agrupamiento WCF no dúplex?
- 28. WPF MVVM Muestras con base de datos
- 29. Git/Django: permiso/disponibilidad de código granular
- 30. PyCharm, Django: cobertura de código cero
-1: No Code. -1: Sin seguimiento de errores u otros mensajes. –