Для отправки данных с сервера на сайт асинхронно в Django можно использовать следующие методы:
1. Ajax запросы: можно отправлять Ajax запросы с помощью JavaScript на сервер и получать ответы асинхронно без перезагрузки страницы.
2. Django Channels: это расширение Django, которое позволяет создавать веб-сокеты для обмена данными между сервером и клиентом асинхронно.
3. API Views: можно создать API views, которые будут отдавать данные в формате JSON, который затем можно обрабатывать на клиентской стороне.
Чтобы реализовать обновление прогресс-бара на клиентской стороне в реальном времени во время обработки файла на бэкенде без использования сокетов, можно воспользоваться следующим подходом:
1. Периодически опрашивать сервер с помощью Ajax запросов для получения информации о прогрессе обработки файла.
2. На сервере создать API view, которая будет отдавать информацию о прогрессе обработки файла в формате JSON.
3. На клиентской стороне использовать JavaScript для обновления прогресс-бара на основе полученных данных от сервера.
Этот подход позволит обновлять прогресс-бар на клиентской стороне в реальном времени без необходимости использования сокетов.