Задать вопрос
  • Как перенести данные из динамических инпутов в базу данных?

    Vindicar
    @Vindicar
    RTFM!
    чтобы django просмотрел всю страницу

    Ну для начала хочу убедиться: ты понимаешь разницу между кодом на сервере и кодом на клиенте?
    На случай если нет

    Цепочка обычно такая:
    1. Клиент посылает запрос, в том числе при переходе по ссылке
    2. Сервер генерирует страницу (тут работает питон), которая может включать в себя JS код.
    3. Сервер отправляет страницу клиенту. Начиная с этого момента Питон не может ничего сделать.
    4. Клиент разбирает страницу и выполняет JS код.
    5. JS код может выполнить еще один запрос к серверу.

    Так что не "пусть django просмотрит страницу", а "JS код на странице должен сформировать фоновый (AJAX) запрос к отдельному URL, в теле которого передать на сервер содержимое таблицы. Обработчик этого URL на стороне сервера должен принять тело запроса, валидировать полученные данные и поместить их в таблицу".
    Тогда задача разбивается на несколько типовых подзадач:
    1. Отправка AJAX-запроса на JS по нажатию кнопки на странице (гуглится).
    2. Отправка AJAX-запроса с телом (гуглится, смотри документацию по JS).
    3. Приём тела запроса в Django (гуглится, смотри документацию по Django).
    4. Превращение тела запроса в структуру данных, удобную для тебя (должен сделать ты). Можно передавать JSON, его легко формировать через JS и легко читать Питоном. Например, список из объектов, где каждый объект - это одна строка таблицы, а поля объекта - значения колонок.
    5. Перебор элементов в структуре и их валидация. Делаешь ты, так как только ты знаешь, какие данные передаются.
    6. Для валидных данных - добавление в таблицу БД (гуглится, смотри документацию по модулю sqlite3).

    Если возникнут вопросы по конкретной подзадаче, задавай их отдельно.
    Ответ написан
    Комментировать