Invio una richiesta AJAX a una vista Django che potrebbe richiedere molto tempo. Passa attraverso alcuni passaggi ben definiti, tuttavia, quindi vorrei stampare gli indicatori di stato per l'utente facendogli sapere quando è finito di fare una certa cosa e si è trasferito a quella successiva.Django - risposta a livello?
Se stavo usando il PHP potrebbe assomigliare a questo, utilizzando la funzione flush:
do_something();
print 'Done doing something!';
flush();
do_something_else();
print 'Done doing something else!';
flush();
Come potrei fare per fare lo stesso con Django? Guardando a the documentation Vedo che gli oggetti HttpResponse hanno un metodo flush, ma tutto ciò che ha da dire è che "Questo metodo rende un'istanza HttpResponse un oggetto simile a un file". - Non sono sicuro che sia quello che voglio. Sto attraversando un periodo difficile per capire come ciò potrebbe essere fatto in Django, dal momento che devo restituire la risposta e in realtà non ho il controllo su quando il contenuto va nel browser.
Grazie. Avevo provato i generatori, ma stupidamente stavo dando interi nel mio test e non ha funzionato. Probabilmente finirò per non farlo affatto, ma è bello sapere che almeno ha funzionato, anche se con le limitazioni che hai menzionato. –