Я использую Flask, у меня есть массив, который я прочитал из базы данных, массив выглядит как [["customer", "address", "PPL"], ["customer2", "address2", "PPL2 «]]
Используя плагин DataTables, я хочу, чтобы «customer» и «customer2» отображались в столбце customer, «address» и «address2» отображались в столбце адреса, а «PPL» и «PPL2» в столбце PPL. Я могу сделать это с помощью цикла for в моем HTML, но это портит мое форматирование DataTable и удаляет поле поиска и кнопки prev / next из таблицы. Как я могу получить эти значения для заполнения ячеек в таблице данных?
Код Python:
def hello():
mariadb_connection = mariadb.connect(user='root', password='pwd',
database='customers')
cursor = mariadb_connection.cursor()
cursor.execute("SELECT * from customer_info")
data = cursor.fetchall()
cursor.close()
namesdb = json.dumps(data)
return render_template('select_customer.html', namesdb=namesdb)
HTML:
<table id="example" class="table text-dark table-striped table-bordered
display" style="width:100%">
<thead class="text-white">
<tr>
<th>Customer</th>
<th>Address</th>
<th>Price per Litre</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{namesdb}}</td>
<td></td>
<td></td>
</tr>
</tbody>
<tfoot>
<tr>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
</div>
Я был связан с этим сообщением, Как структурировать данные, чтобы легко создавать HTML-таблицы во Flask ,
но, как уже упоминалось, использование этого цикла for заполняет столбцы таблицы DataTables, но цикл for, кажется, удаляет поле поиска и кнопки prev / next.
script.js
$(document).ready(function() {
var table = $('#example').DataTable();
$('#example tbody').on( 'click', 'tr', function () {
$(this).toggleClass('selected');
} );
$('#button').click( function () {
alert( table.rows('.selected').data().length +'
row(s) selected' );
} );
} );