Django табличная форма ввода (пользователь может ввести данные в таблицу) - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь создать табличную форму ввода. Пользователь может вводить данные в ячейки таблицы. В таблице должно быть 100 строк. Ниже приводится иллюстрация конечной цели.

sample table

However, if such table is not possible, a suggestion to create the following table is also welcomed! sample table 2

This is what I have tried:

forms.py

class SampleInputForm(forms.Form):
    x = forms.FloatField()
    y = forms.FloatField()

views.py

class ToolView(View):
    def get(self, request):

        table_rows = 10
        sample_form_set_factory = formset_factory(SampleInputForm, extra = table_rows)
        sample_form_set = sample_form_set_factory()

        context = {
            'sample_form' : sample_form_set,
        }
        return render(request, 'tools/tools.html', context)

html file

{% csrf_token %}
  Вход  Выход   {{ sample_form}}   

Однако эта попытка не формирует таблицу. Поле ввода Y отображается под X, поэтому таблица не формируется.

1 Ответ

0 голосов
/ 02 августа 2020

formset_factory повторяется, поэтому в шаблоне вы можете сделать это

<form method="post">
    <table>
        <thead>
            <tr>
                <th>Input</th>
                <th>Output</th>
            </tr>
        </thead>
        <tbody>
            {% for form in sample_form %}
            <tr>
                <th>
                    {{ form.x }}
                </th>
                <th>
                    {{ form.y }}
                </th>
            </tr>
            {% endfor %}
        </tbody>
    </table>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...