Я довольно новичок в веб-разработке в целом; Я вроде учусь всему на лету. Недавно я запустил и запустил приложение Django, но я чувствую себя довольно грязно / хакерно, как я делал вещи.
Проблема: Пользователь должен ввести (потенциально) много данных в электронную таблицу, подобную Excel, на моей веб-странице. В настоящее время я использую Handsontable для этого. Затем мне нужно взять данные, выполнить несколько запросов к ним, обработать результаты и вернуть пользователю лист Excel.
Поскольку Handsontable визуализируется с помощью Javascript при загрузке страницы, а не Django, мне нужно было найти обходной путь для получения данных в мои views.py (я также не мог строго использовать AJAX, потому что не мог понять как отправить файл в браузер после завершения запроса).
Текущее решение: У меня скрыта текстовая область Django. Когда пользователь отправляет форму, у меня есть функция Javascript, которая выгружает Handsontable в нее в форме JSON. Затем в файле views.py я анализирую JSON, делаю с ним то, что мне нужно, и возвращаю файл Excel пользователю. Иметь скрытое поле, чтобы обойти все это, кажется неправильным.
Есть ли лучший способ отправить информацию Django, и при этом он обрабатывает ответ? Как я уже говорил выше, использование AJAX прекрасно работало до самого конца - когда мне нужно было передать файл пользователю без , когда он нажимал на дополнительную ссылку (или другие обходные пути, которые я видел).