Есть ли в Django / Python функция, похожая на PHP flush (), которая позволяет мне отправлять часть HTTP-ответа клиентам? - PullRequest
6 голосов
/ 10 июня 2011

Согласно совету по производительности от Yahoo :

Когда пользователи запрашивают страницу, для внутреннего сервера может потребоваться от 200 до 500 мс, чтобы сшить страницу HTML.,В течение этого времени браузер бездействует, ожидая поступления данных.В PHP у вас есть функция flush ().Он позволяет вам отправить частично готовый HTML-ответ в браузер, чтобы браузер мог начать извлечение компонентов, пока ваш бэкэнд занят остальной HTML-страницей.

Пример:

   ... <!-- css, js -->
    </head>
    <?php flush(); ?>
    <body>
      ... <!-- content -->

Есть ли в Django / Python функция, аналогичная PHP1 flush()?

Спасибо

Ответы [ 3 ]

2 голосов
/ 10 июня 2011

Нет.Это короткий ответ.

Длинный ответ зависит от того, что вы используете между веб-сервером и python: вы можете реализовать его с помощью WSGI, но это не будет капризной задачей.Вот?http://www.python.org/dev/peps/pep-0333/#the-start-response-callable

2 голосов
/ 10 июня 2011

Вы можете yield частичный ответ вместо return его использования.

2 голосов
/ 10 июня 2011

http://www.evanfosmark.com/2008/06/simple-output-buffering-in-python/ - Хорошая статья по теме. Должны делать именно то, что вам нужно, используя любой из предложенных вариантов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...