2009-11-20 5 views
4

Dans une exécution de ligne de commande à long terme, comme la décompression d'une grande archive .zip, comment rediriger la sortie en temps réel de la commande unzip vers le navigateur via HttpResponse de Django?Rediriger la sortie de ligne commune en temps réel vers Django HttpResponse

EDIT: Selon la suggestion de Paul, je fait une recherche et a trouvé cette question a des réponses à la façon de retourner un HttpResponse en utilisant un générateur.

Update HttpResponse Every Few Seconds

Maintenant, problème qui reste est de savoir comment capturer et créer un générateur à partir de la sortie de dézipper.

+0

Vous pouvez regarder ce billet pour des idées: http://code.djangoproject.com/ticket/7581 –

+0

@Paul, merci pour votre lien, très utile. – jack

Répondre

1

Le constructeur HttpResponse prend une chaîne ou un itérable.

Pour faire défiler le contenu vers le bas, vous pouvez faire de l'itérable un générateur.

Bien entendu, votre middleware n'interfère pas.