Я помню, как работал с PHP долгое время go, и веб-страница начинала бы передаваться напрямую клиенту, затем, если был найден блок php, поток блокировался до тех пор, пока строка из php был возвращен, а затем продолжил отправку данных клиенту. Если исключение найдено, вы можете увидеть часть веб-сайта, а затем исключение в середине веб-страницы.
Я хочу иметь возможность отправить шаблон django клиенту так же, как PHP сделал. Например:
1. <html>
2. <head>
3. ...
4. </head>
5. <body>
6. hello {{ some_context_variable }} bye
7. </body>
8. </html>
Если some_context_variable
- это длинная операция с базой данных, я хочу, чтобы пользователь мог видеть hello
в браузере, пока не пройдет несколько секунд, и операция db не будет решена, а затем пользователь увидит на экране что-то вроде hello friend bye
Можно ли это сделать с помощью django представлений и рендеринга шаблона django? Если нет, то можно ли это сделать с помощью другого языка шаблонов, такого как jinja2 или другого, в сочетании с django?
Примечание: я знаю, что django имеет StreamingHttpResponse
, но, насколько я понимаю, он позволяет только представление отправлять куски. Я хочу, чтобы шаблон отображался чанками, и, возможно, возвращаю эти чанки как StreamingHttpResponse