Я хочу редактировать записи, которые запрашиваются из базы данных sqlite. Все записи отображаются на странице, но как только я нажимаю кнопку «Изменить», модал отображает только данные из первой строки. Кто-нибудь может посоветовать, пожалуйста, что мне делать? Большое спасибо!
Здесь выполняется запрос и набор результатов отправляется на страницу.
views.py
@app.route('/flows')
def flows():
flows = models.Workflows.query.all()
return render_template('flows.html', title='Flows', flows=flows, len=len(flows), currentFlows='active')
Я до сих пор не работал само редактирование, поскольку я не решил проблему просмотра только одной записи.
app. js
$('#modalEditFlows').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var name = $('#flowName').text();
var desc = $('#flowDesc').text();
var status = $('#flowSts').text();
var modal = $(this);
modal.find('.modal-body input').val(name);
modal.find('.modal-body textarea').val(desc);
});
Наконец, блок html, который получает и монтирует таблицу с все данные.
HTML блок
{% extends "base.html" %}
{% block content %}
<h1 align="center">Workflows</h1>
<div align="center">View all existing workflows</div>
<br>
<br>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th> Name </th>
<th width="40%"> Description </th>
<th> Status </th>
<th>#</th>
</tr>
</thead>
<tbody>
{% for i in range(0,len) %}
<tr>
<td width="40%" id="flowName"> {{ flows[i].flow_name }} </td>
<td id="flowDesc"> {{ flows[i].description }} </td>
<td width="7%" id="flowSts"> {{ flows[i].status }}</td>
<td width="3%">
<button type="button" class="btn btn-outline-secondary btn-sm" data-toggle="modal" data-target="#modalEditFlows">Edit</button>
</td>
</tr>
<!-- Modal -->
<div class="modal fade" id="modalEditFlows" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Edit workflow</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="recipient-name" class="col-form-label">Flow name:</label>
<input type="text" class="form-control" id="flow-name">
</div>
<div class="form-group">
<label for="message-text" class="col-form-label">Description:</label>
<textarea class="form-control" id="description"></textarea>
</div>
<div class="form-group">
<label for="recipient-name" class="col-form-label">Status:</label><br>
<select id="status">
<option value="ACTIVATED">ACTIVATED</option>
<option value="DEACTIVATED">DEACTIVATED</option>
</select>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<!-- End modal -->
{% endfor %}
</tbody>
</table>
{% endblock %}