Обновление страницы при появлении чего-то нового в Django

Я создаю веб-сайт для местного заведения, которое использует Ifood. Ifood предоставляет API, который позволяет проверять информацию, как о заведении, так и о поступающих заказах. Код готов, но я могу показать обновление нового заказа только при ручном обновлении страницы. Что немного не удобно. Я думал поставить автоматическое обновление с помощью JavaScript в заданное время, но это будет уродливый обходной путь. В этом случае я получаю данные JSON, но в более общем контексте. Как я могу обновить страницу, как только появляются новые данные?

Автоматическое обновление с помощью Javascript может быть не таким грязным, как вы думаете. Даже push-уведомления в смартфонах на самом деле являются просто периодическим опросом под капотом.

Если вы действительно хотите передавать данные с сервера, то вам нужны WebSockets или server-side events. К сожалению, похоже, что такая настройка не поддерживается Django.

Другим вариантом может быть использование платного сервиса, например Pusher.com. Такие сервисы обычно позволяют вам прослушивать чет в JS, а затем вызывать конечную точку API для запуска с вашего сервера.

Вернуться на верх