pregunta simple en realidad¿Puedo retrasar Django
./manage.py runserver
¿Puedo retrasar localhost:8000
en mi máquina de desarrollo para que pueda simular la carga de archivos y trabajar en el aspecto y la sensación de subir ajax?
pregunta simple en realidad¿Puedo retrasar Django
./manage.py runserver
¿Puedo retrasar localhost:8000
en mi máquina de desarrollo para que pueda simular la carga de archivos y trabajar en el aspecto y la sensación de subir ajax?
dependiendo de dónde desee simular, simplemente podría dormir?
from time import sleep
sleep(500)
Esta es mi forma favorita de probar los tiempos de espera de HttpRequest en el lado del cliente. –
Buena idea. ¡Me gusta! – Sevenearths
Puede escribir customized upload handler o un gestor de carga actual de subclase para ralentizar principalmente el método receive_data_chunk()
en él. O configure un punto de interrupción pdb dentro de receive_data_chunk()
y procese manualmente la carga. O incluso más simple, intente cargar un archivo grande.
en OSX o freebds, puede utilizar ipfw
para limitar el ancho de banda en los puertos específicos:
sudo ipfw pipe 1 config bw 1Bytes/s delay 100ms
sudo ipfw add 1 pipe 1 src-port 8000
No se olvide de eliminarla cuando no lo necesita más:
sudo ipfw delete 1
Para osx también hay una aplicación gratuita que permitirá t su:
Me encanta este método en general para probar cargas de página para visitantes más lentos. ¡El procesamiento de DOM se ve muy diferente cuando los elementos se cargan constantemente ...! –
Entonces, si estoy probando una página web en mi Mac desde 'localhost' servidor Django en la misma, ¿esto simulará una carga de página demorada? – SexyBeast
Soy un gran fan del Proxy HTTP Charles. Le permite acelerar la conexión y puede simular todo tipo de condiciones de red.
Utilice el controlador de carga de archivos lenta de Django gubbins:
import time
from django.core.files.uploadhandler import FileUploadHandler
class SlowFileUploadHandler(FileUploadHandler):
"""
This is an implementation of the Django file upload handler which will
sleep between processing chunks in order to simulate a slow upload. This
is intended for development when creating features such as an AJAXy
file upload progress bar, as uploading to a local process is often too
quick.
"""
def receive_data_chunk(self, raw_data, start):
time.sleep(2)
return raw_data
def file_complete(self, file_size):
return None
Usted puede habilitar este nivel mundial, añadiéndolo a:
FILE_UPLOAD_HANDLERS = (
"myapp.files.SlowFileUploadHandler",
"django.core.files.uploadhandler.MemoryFileUploadHandler",
"django.core.files.uploadhandler.TemporaryFileUploadHandler",
)
O habilitarlo para una solicitud específica:
request.upload_handlers.insert(0, SlowFileUploadHandler())
Asegúrese de que la solicitud esté exceptuada de la verificación CSRF, como se menciona en https://docs.djangoproject.com/en/dev/topics/http/file-uploads/#id1
¿Lo ejecuta en un entorno virtualizado que le permite controlar la velocidad de ejecución? – Marcin
Puede cargar archivos más grandes. – jpic