Как создать асинхронную передачу результатов на основе табличных данных, используя django -tables2 - PullRequest
0 голосов
/ 10 апреля 2020

В настоящее время я использую django -tables2 для отображения некоторых результатов пользователям. Результаты получены из графика RDF, поэтому результаты и количество столбцов могут отличаться. Я написал следующий код для работы с переменной длиной столбцов таблицы:

def createData(queryResults):
    if not queryResults:
        return (DummyTable,[])
    else:
        myTableCol={}
        mylist = []
        for i in queryResults:
            mydic = {}
            for j in i:
                className=str(type(j)).split(".")[1]
                mydic.update({className: j.name})
                myTableCol.update({className: tables.Column()})
            mylist.append(mydic)
        myTableCol.update({'Action': tables.TemplateColumn(template_name="secReqViews/radionbuttons.html", verbose_name=("Actions"), orderable=True)})
        Meta = type('Meta', (object,), {'template_name':"django_tables2/bootstrap4.html", 'attrs':{"class": "paleblue"},})
        myTableCol.update({'Meta':Meta})
        QueryTable2=type('QueryTable', (tables.Table,), myTableCol)

        return QueryTable2, mylist

Не останавливаться на алгоритме, но вы можете видеть, что я динамически создавал столбцы таблицы, используя myTableCol = {} и динамически создаваемый класс QueryTable2. Я добавил столбец «Действия», на котором я сфокусирован в этом сообщении.

Я хотел бы использовать этот столбец для асинхронной информации от пользователей. Таким образом, для результатов в таблице пользователь может выбрать переключатель «Да» или «Нет», чтобы сказать, является ли строка результатов правильной или нет. При выборе переключателя «Да» или «Нет» информация из строки будет отправлена, а затем сохранена строка, которая является правильной или нет. Можно ли это сделать с помощью Django -tables2?

Сценарий, который я хотел бы, чтобы таблица загружалась со столбцом действия.

<!DOCTYPE html>
<html>
<body>

<h2>Basic HTML Table</h2>

<table>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th> 
    <th>Action</th>
  </tr>
  <tr>
    <td>Jill</td>
    <td>Smith</td>
    <td><form>
<input type="radio" id="Yes" name="result" value="Yes">
  <label for="Yes">Yes</label>
  <input type="radio" id="No" name="result" value="No">
  <label for="No">No</label>
</form></td>
  </tr>
  <tr>
    <td>Eve</td>
    <td>Jackson</td>
    <td><form>
<input type="radio" id="Yes" name="result" value="Yes">
  <label for="Yes">Yes</label>
  <input type="radio" id="No" name="result" value="No">
  <label for="No">No</label>
</form></td>
  </tr>
  <tr>
    <td>John</td>
    <td>Doe</td>
    <td><form>
<input type="radio" id="Yes" name="result" value="Yes">
  <label for="Yes">Yes</label>
  <input type="radio" id="No" name="result" value="No">
  <label for="No">No</label>
</form></td>
  </tr>
</table>

</body>
</html>

Я читал в django -datatables-view, но для него требуется модель, а мои данные не поступают из базы данных.

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