Tengo un pequeños sistema que se encarga de mostrar archivos. Pero eso los sirve en una vista en django. Mi primer problema era que abria el archivo con un FileWrapper como se muestra aqui http://djangosnippets.org/snippets/365/ el problema se encuentra en que a final de cuentas el FileWrapper lee el archivos (https://code.djangoproject.com/browser/django/tags/releases/1.3.1/django/core/servers/basehttp.py#L54) Esto quiere decir que si es un archivo muy grande ese archivo tiene que ponerlo en memoria para ponerlo en el response.

Solución:

Usar X-SendFIle

http://djangosnippets.org/snippets/2226/

Con esto te evitas que la aplicacion sirva el archivo subiendolo a memoria mejor se lo pasas al servidor web para que sirva mas rapido!