一. form提交表單更新數據,post請求
1. HTML文件
{% for car in carinfos %}
<form class="form-horizontal" action="{{ url_for('upgrade_carinfo',carid=car.cid) }}"
method="post">
<div class="form-group">
<label for="upgrade_cplant"
class="col-xs-3 control-label">車牌號:</label>
<div class="col-xs-8 ">
<input type="text" class="form-control input-sm duiqi"
id="upgrade_cplant"
placeholder="" name="upgrade_info_cplant">
</div>
</div>
<div class="form-group" style="text-align:center;">
<button type="button" class="btn btn-xs btn-xs btn-white"
data-dismiss="modal">取 消
</button>
<button type="submit" class="btn btn-xs btn-xs btn-green">
保 存
</button>
</div>
</form>
{% endfor %}
1.1 關於
{% for car in carinfos %} {% endfor %}
,其中carinfos的信息傳遞,是模板渲染得到的,其後端代碼如下
def back():
print("back")
context = {
'carinfos':Car.query.all(),
'rentinfos':RentInfo.query.all(),
'users':User.query.all(),
'fixcars':FixCar.query.all()
}
return render_template('back/back.html',**context)
Python代碼
carid是主鍵,該信息要傳到前端,可以通過url_for指定參數傳遞
@app.route('/upgrade_carinfo/',methods=['POST'])
def upgrade_carinfo():
carid = request.args.get("carid")
## 這裏就可以獲取到url_for傳來的參數carid,由carid可以經過查詢數據庫,
cplant = request.form.get('upgrade_cplant') # 獲取提交的表單內容
return redirect(url_for('back'))
二.通過a 標籤中的 href 提交參數
1.HTML文件
{% for car in carinfos %}
<div class="modal fade" id="deleteSource" role="dialog"
aria-labelledby="gridSystemModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="gridSystemModalLabel">提示</h4>
</div>
<div class="modal-body">
<div class="container-fluid"> 確定要刪除該車輛?刪除後不可恢復!</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-xs btn-white" data-dismiss="modal">取
消
</button>
<button type="submit" class="btn btn-xs btn-danger">
<a href="{{ url_for('delete_car',carid= car.cid) }}">保 存</a>
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
{% endfor %}
2.後臺python代碼
@app.route("/delete_car/<carid>", methods=['GET', 'POST'])
def delete_car(carid):
car = Car.query.filter(Car.cid==carid).first()
car = Car.query.get(carid)
if not car:
flash("該車不存在")
else:
try:
car = Car.query.filter(Car.cid==carid ).first()
# db.session.delete(car)
# db.session.commit()
except Exception as e:
print(e)
db.session.rollback()
print(car.cnote)
return redirect(url_for('back'))
這種方式和form相比,form是要提交多組數據到後端,這裏的a標籤提交,只需要將carid提交給後臺處理即可。