Мне нужно остаться в результатах поиска после обновления строки. В настоящее время я использую update.html
для публикации данных на @update
после этого рендеринга update.html
и вызываю update
модальное значение bootstrap для получения данных из определенной строки. После этого вызовите update_two
, чтобы обновить строку в mysql, используя SqlAlchemy. Затем пытаюсь остаться в результате поиска.
app.py
@app.route('/update', methods=['GET', 'POST'])
def update():
# all_data = BankData.query.all()
if request.method == 'POST':
start_date = request.form.get('start_date')
end_date = request.form.get('end_date')
searched_data = db.session.query(BankData).filter(
BankData.process_date.between(start_date, end_date))
# db.session.add(searched_data)
# db.session.commit()
return render_template('update.html', start_date=start_date, end_date=end_date, searched_data=searched_data)
@app.route('/update_two', methods=['GET', 'POST'])
def update_two():
# searched_data = session.get('searched_data')
if request.method == 'POST':
new_data = BankData.query.get(request.form.get('true_id'))
new_data.process_date = request.form['date']
new_data.description = request.form['description']
new_data.debit = request.form['debit']
new_data.category = request.form['category']
db.session.commit()
return redirect(request.url)
update. html
{% extends 'base.html' %}
{% include 'header.html' %}
{%block title%} Home {%endblock%}
{%block body%}
<div class="container">
<div class="row">
<div class="col md-12">
<div class="jumbotron p-3">
<h2>Bank Transaction date from <b
style="margin: 15px; background-color: dimgrey;">{{start_date}}</b>-To-<b
style="margin: 15px; background-color: dimgrey;">{{end_date}}</b></h2>
</div>
<table class="table table-hover table-dark">
<tr>
<th>Date</th>
<th>Description</th>
<th>Debit</th>
<th>Category</th>
<!-- <th>Category</th> -->
</tr>
{% for data in searched_data %}
<tr>
<!-- <td>{{data.id}}</td> -->
<td>{{data.process_date}}</td>
<td>{{data.description}}</td>
<td>{{data.debit}}</td>
<td>{{data.category}}</td>
<td>
<a href="/update/{{data.id}}" class="btn btn-warning btn-xs" data-toggle="modal"
data-target="#modaledit{{data.id}}">Edit</a>
<!-- <a href="/delete/{{data.id}}" class="btn btn-danger btn-xs"
onclick="return confirm('Are You Sure To Delete ?')">Delete</a> -->
</td>
</tr>
<!-- Modal Edit Employee-->
<div id="modaledit{{data.id}}" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Update Information</h4>
</div>
<div class="modal-body">
<form action="{{url_for('update_two')}}" method="POST">
<div class="form-group">
<label>Date</label>
<input type="hidden" name="true_id" value="{{data.id}}">
<input type="text" class="form-control" name="date"
value="{{data.process_date}}">
</div>
<div class="form-group">
<label>Description</label>
<input type="text" class="form-control" name="description"
value="{{data.description}}">
</div>
<div class="form-group">
<label>Debit:</label>
<input type="text" class="form-control" name="debit" value="{{data.debit}}">
</div>
<div class="form-group">
<label>Category:</label>
<select id="category" name="category">
<option selected value="None">{{data.category}}</option>
<option value="BankFees">Bank Fees</option>
<option value="StaffExpences">Staff Expence</option>
<option value="Refund">Refund</option>
<option value="Telephone">Telephone</option>
</select>
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit">Update</button>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
{% endfor %}
</table>
</div>
</div>
</div>
</div>
{%endblock%}