Создание Django объектов модели из HTML - PullRequest
0 голосов
/ 15 апреля 2020

В Django у меня есть модель с именем Exercise.
Затем на странице HTML у меня есть таблица со всеми упражнениями, которые принадлежат этому пользователю.

В следующем (сокращенном) коде вы можете видеть, что у меня есть таблица, отображающая все упражнения, которые в данный момент выполняет пользователь. Кроме того, в нем есть кнопки для добавления новых строк в таблицу.

Цель: Когда я добавляю новую строку в таблицу, я также хочу создать пустой экземпляр Exercise модель.
br>

Кроме того, если это недоступно только в простых Django и JQuery, пожалуйста, дайте мне знать, какие фреймворки его поддерживают. Спасибо.

$('.deleteButton').on('click', function () {
    if ($(this.parentNode.parentNode.parentNode).find('tr').length > 3) {
        $(this.parentNode.parentNode.parentNode).find("tr:nth-last-child(2)").remove();
    }
})
$('.addButton').click(function () {
    $(this.parentNode.parentNode.parentNode).find('tr:last').before('<tr><td>name</td><td>sets</td><td>reps</td><td>weight</td></tr>')
})
{% block content %}

    <div class="row" style="margin-top: 1%;">
        {% for workout in workouts %}
        <div class="col-6 col-lg-3" style="margin-right: 50px;">
            <table class="mytable">
                {% for exercise in workout.exercise_set.all %}
                <tr>
                    <td>{{ exercise.name }}</td>
                    <td>{{ exercise.sets }}</td>
                    <td>{{ exercise.repetitions }}</td>
                    <td>{{ exercise.weight }}</td>
                </tr>
                {% endfor %}
                <tr id="editrow">
                    <td colspan="2">
                        <input class="addButton" type="button" value="Delete" />
                    </td>
                    <td colspan="2">
                        <input class="deleteButton" type="button" value="Delete" />
                    </td>
                </tr>
            </table>
        </div>
        {% endfor %}
    </div>

{% endblock %}

1 Ответ

0 голосов
/ 15 апреля 2020

Это возможно в Django через Ajax (Jquery или Javascript). Вы можете отправить «пост» запрос от вашей кнопки добавления для создания экземпляра вашей модели. вам нужно будет позаботиться о токене CSRF. Ниже приведена ссылка на Django Документация для Ajax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...