tengo una vista como la siguiente:Transmisión de respuesta HTTP, rubor al navegador
from django.views.decorators.http import condition
def stream():
for i in range(0, 40):
yield " " * 1024
yield "%d" % i
time.sleep(1)
@condition(etag_func=None):
def view(request):
return HttpResponse(stream(), mimetype='text/html')
Sin embargo, definitivamente no parece ser la transmisión en absoluto. Todos los datos se vuelcan a la vez, al final, después de unos 40 segundos. ¿Cómo puedo hacer que se descargue correctamente?
relacionado: http://stackoverflow.com/questions/2922874/how-to-stream-an-httpresponse-with-django – miku
Sí, ahí es donde obtuve las ideas del código para probar, sin embargo, no parece estar trabajando para mi No estoy seguro de lo que estoy haciendo mal aquí. – synic
Lo que estás haciendo no es completamente estándar y solo ocurre un milagro debido a los detalles de cómo algunos navegadores implementan http. Yo diría, pruébelo con un montón de navegadores y cantidades variables de espacios en blanco. Eventualmente, probablemente encontrará un agujero de seguridad remotamente explotable. –