Django - Обновление значения базы данных при перетаскивании

Я создаю приложение TODO и пытаюсь реализовать перетаскивание с помощью JavaScript. Мне удалось создать функцию перетаскивания, но я не знаю, как изменить и сохранить "категорию" задачи (например, backlog на done) при перетаскивании.

Нужно ли мне использовать JavaScript или есть какая-то библиотека Django, которая может мне помочь? Если JS необходим, что я должен сделать?

Поскольку ваше действие происходит на стороне клиента (в вашем браузере), это означает, что вы должны использовать JavaScript для запуска действия изменения базы данных.

Но JavaScript не имеет доступа к базе данных бэкенда напрямую, поэтому, когда вы сбрасываете карточку/задание в другую категорию, вы хотите обработать это событие и узнать, в какую категорию вы попали. (все это с помощью JS)

Затем вы вызываете API вашего сервера, через AJAX и передаете идентификатор задачи и новую категорию на вашу внутреннюю сторону, где вы должны обновить базу данных новой информацией.

Надеюсь, это было понятно.

Если вы не хотите опрашивать сервер, вы можете использовать WS. Вам понадобится JavaScript для открытия соединения.

Установите каналы Django Установите брокер (Redis) Запустите сервер в ASGI, а не в WSGI.

Я запускаю Daphne позади Apache для обработки WS-запросов

API WebSocket - это передовая технология, позволяющая открыть двусторонний интерактивный сеанс связи между браузером пользователя и сервером. С помощью этого API вы можете отправлять сообщения на сервер и получать ответы, управляемые событиями, без необходимости опрашивать сервер для получения ответа.

Я использую WS для отправки уведомления всем пользователям на одной странице, если БД была изменена. Ваш JavaScript может вызвать Django, который вызовет DB через WS, а также может отправить обратно и обновить значение на странице.

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