Создание редактируемой таблицы типа электронной таблицы на сайте Django

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

enter image description here

Ячейки таблицы должны быть редактируемыми и стилизуемыми, чтобы можно было добавлять и удалять, выделять домашние задания. В общем, как в электронных таблицах Google. Вы должны иметь возможность мгновенно редактировать ячейку при нажатии на нее.

Эти правки должны быть сохранены в базе данных, чтобы другие пользователи могли следить за правками. Но как я могу сохранить все правки в базе данных?

Как я могу создать эту функциональность электронной таблицы на сайте Django?

Я уже пробовал html-таблицы с contenteditable. Или лучше использовать формы ввода?

Может ли кто-нибудь привести пример для этого?

Лучшим и фактически стандартным подходом к решению подобных задач будет разделение приложения на frontend и backend, использование Django для backend-части и какого-нибудь js-фреймворка (React, Vue.js и так далее) для frontend-части. Добавьте API Django-rest-framework в бэкенд для взаимодействия между частями. Есть множество примеров, с которых можно начать.

Но недавно я наткнулся на это github-репо django-funky-sheets, нечто гениальное, на мой взгляд. Немного халтурный способ использования js-библиотеки Handsontable с Django :) Возможно, не очень эффективный, но возможное решение для небольших проектов. Репо устарело и больше не поддерживается, но вы все равно можете сделать форк и работать над PRs.

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